Redis Clustering 에서 사용 NodeJS

Redis Clustering Redis 널리 사용되는 메모리 내 데이터 저장소인 에서 데이터를 관리하는 확장 가능한 분산 접근 방식입니다. 클러스터링을 사용하면 여러 Redis 노드가 통합 시스템으로 함께 작동하여 더 높은 가용성, 내결함성 및 대규모 데이터 세트 처리를 위한 향상된 성능을 제공할 수 있습니다.

에서 Redis Clustering 데이터는 여러 노드에 걸쳐 분할되며 각 노드는 데이터의 일부만 보유합니다. 이 분할은 증가하는 데이터 요구 사항을 수용하기 위해 클러스터에 새 노드를 추가할 수 있는 수평적 확장을 가능하게 합니다. 또한 Redis Clustering 내장된 복제 기능을 제공하여 노드 장애 시 데이터 중복성과 장애 조치 기능을 보장합니다.

의 주요 기능은 Redis Clustering 다음과 같습니다.

  1. 고가용성: Redis Clustering 일부 노드가 실패하더라도 데이터 복제 및 자동 장애 조치 메커니즘 덕분에 전체 시스템이 계속 작동하도록 보장합니다.

  2. 수평 확장: 데이터 크기가 증가함에 따라 클러스터에 새 노드를 추가하여 데이터 로드를 분산하고 성능을 높일 수 있습니다.

  3. 데이터 샤딩: 데이터를 샤드로 나누고 각 샤드를 특정 노드에 할당하여 효율적인 데이터 분산 및 검색이 가능합니다.

  4. 클러스터 관리: Redis Clustering Sentinel과 Cluster Manager 의 조합을 사용하여 Redis 노드 상태를 모니터링하고 장애 조치 작업을 수행합니다.

  5. 일관성: Redis 데이터 변경 사항이 클러스터 전체에 점진적으로 전파되는 최종 일관성을 제공합니다.

 

Redis Clustering 에서 사용하려면 NodeJS 다음 단계를 따르십시오.

설치하다 Redis

Redis 먼저 서버에 설치해야 합니다. apt 공식 웹 사이트에서 다운로드하거나 또는 같은 패키지 관리자를 사용할 수 있습니다 brew.

Cấ hình Redis cho 클러스터링

Redis 클러스터링 구성: Redis 구성 파일(redis.conf)을 열고 다음과 같이 변경합니다.

# Enable clustering mode  
cluster-enabled yes  
cluster-config-file nodes.conf  
cluster-node-timeout 5000  

cluster-enabled 클러스터링 모드를 활성화하려면 로 설정합니다 yes. cluster-config-file 클러스터 상태가 저장될 파일의 ​​이름을 지정합니다. cluster-node-timeout 클러스터 노드에 대한 시간 초과를 밀리초 단위로 정의합니다.

Redis 인스턴스 시작

Redis 클러스터를 형성할 서로 다른 포트에서 여러 인스턴스를 시작합니다 Redis. 각 인스턴스는 동일한 구성 파일을 사용해야 합니다.

Redis Cluster ~에 NodeJS

응용 프로그램 에서 "ioredis"와 같은 클러스터링을 지원하는 클라이언트 라이브러리를 NodeJS 사용하십시오. 클라이언트는 자동으로 클러스터 상태를 처리하고 요청을 적절한 노드로 라우팅합니다. Redis Redis

Redis Cluster 다음에서 "ioredis"로 연결하는 예 NodeJS:

const Redis = require('ioredis');  
  
const redis = new Redis.Cluster([  
  { host: '127.0.0.1', port: 7000 },  
  { host: '127.0.0.1', port: 7001 },  
  { host: '127.0.0.1', port: 7002 },  
  // Add more Redis nodes if needed  
]);  

IP 주소와 포트를 클러스터 노드의 주소로 바꿉니다 Redis.

시험 Redis Clustering

클러스터가 설정되고 NodeJS 애플리케이션이 연결되면 Redis 평소처럼 명령을 사용할 수 있습니다. 클라이언트 Redis 는 클러스터 노드 간의 데이터 배포 및 장애 조치를 자동으로 처리합니다.

 

다음 단계를 따르면 애플리케이션 Redis Clustering 에서 활용하여 NodeJS 수평으로 확장하고 많은 양의 데이터를 쉽게 처리할 수 있습니다.