Redis Clustering Redis 널리 사용되는 메모리 내 데이터 저장소인 에서 데이터를 관리하는 확장 가능한 분산 접근 방식입니다. 클러스터링을 사용하면 여러 Redis 노드가 통합 시스템으로 함께 작동하여 더 높은 가용성, 내결함성 및 대규모 데이터 세트 처리를 위한 향상된 성능을 제공할 수 있습니다.
에서 Redis Clustering 데이터는 여러 노드에 걸쳐 분할되며 각 노드는 데이터의 일부만 보유합니다. 이 분할은 증가하는 데이터 요구 사항을 수용하기 위해 클러스터에 새 노드를 추가할 수 있는 수평적 확장을 가능하게 합니다. 또한 Redis Clustering 내장된 복제 기능을 제공하여 노드 장애 시 데이터 중복성과 장애 조치 기능을 보장합니다.
의 주요 기능은 Redis Clustering 다음과 같습니다.
-
고가용성: Redis Clustering 일부 노드가 실패하더라도 데이터 복제 및 자동 장애 조치 메커니즘 덕분에 전체 시스템이 계속 작동하도록 보장합니다.
-
수평 확장: 데이터 크기가 증가함에 따라 클러스터에 새 노드를 추가하여 데이터 로드를 분산하고 성능을 높일 수 있습니다.
-
데이터 샤딩: 데이터를 샤드로 나누고 각 샤드를 특정 노드에 할당하여 효율적인 데이터 분산 및 검색이 가능합니다.
-
클러스터 관리: Redis Clustering Sentinel과 Cluster Manager 의 조합을 사용하여 Redis 노드 상태를 모니터링하고 장애 조치 작업을 수행합니다.
-
일관성: 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 수평으로 확장하고 많은 양의 데이터를 쉽게 처리할 수 있습니다.