본문 바로가기
레디스

Redis Sentinel vs Redis Cluster: 고가용성과 확장성의 대결

by 플라퉁 2023. 9. 19.
728x90
반응형

 

 

 

 

안녕하세요 오늘은 Redis Sentinel과 Redis Cluster 이 두 가지 기술을 비교하여 

어떤 상황에서 어떤 것을 선택해야 하는지 알아보려 합니다.

 

 

 

 

 

 

1. Redis Sentinel:

 

Redis Sentinel은 고가용성(High Availability) 솔루션으로, 마스터-슬레이브 구조에서 사용됩니다.

 

주요 구성 요소:

 

마스터(Master): 데이터를 기록하는 주요 서버입니다.
슬레이브(Slave): 마스터 데이터를 복제하여 읽기 작업을 처리하는 보조 서버입니다.
센티넬(Sentinel): 클러스터의 상태를 모니터링하고, 장애 발생 시 자동 장애 복구 기능을 수행합니다.

 

동작 방식:

 

센티널은 주기적으로 마스터와 슬레이브 노드들의 상태를 모니터링합니다.
만약 마스터 노드에 장애가 발생하면, 센티널은 슬레이브 중 하나를 새로운 마스터로 선출합니다.
클라이언트들은 센티널을 통해 현재 마스터의 정보를 얻고, 읽기 및 쓰기 작업을 수행합니다.

 

주요 특징:

 

자동 장애 복구: 마스터 노드의 장애 시 슬레이브 노드를 자동으로 프로모션하여 서비스 중단 시간을 최소화합니다.

서비스 검색: 클라이언트에게 현재 마스터 서버 정보를 알려줍니다.

설정 가능한 쿼럼: 정상 작동 여부 판단 기준인 쿼럼 수를 설정할 수 있습니다.

 

한계:

 

단일 마스터: 하나의 마스터와 여러 개의 슬레이브만 지원합니다.
읽기 확장성 제한: 읽기 작업은 모든 요청을 마스터로 보내야 합니다.

 

 

 

 

 

 

 

 

 

2. Redis Cluster:

 

Redis Cluster는 분산 시스템으로, 성능 및 확장성 향상을 위해 여러 노드에 데이터를 분산 저장합니다.

 

주요 구성 요소:

 

클러스터 노드(Cluster Node): 데이터를 저장하고 처리하는 개별 Redis 인스턴스입니다.
슬롯(Slot): 데이터를 균등하게 분배하기 위해 전체 데이터베이스가 일정 개수의 슬롯으로 나뉩니다.

 

동작 방식:

 

클러스터는 자동으로 데이터를 다중 노드에 분산하여 저장합니다.
각 노드는 일부 슬롯에 대한 책임을 가지며, 해당 슬롯에 속하는 데이터만 관리합니다.
클라이언트들은 클러스터와 상호작용하며, 요청된 키 값의 해시 함수 결과를 기반으로 데이터가 저장된 노드를 찾습니다.
클러스터는 자체적인 복구 메커니즘을 갖추어 일부 노드의 장애 시에도 전체적인 가용성을 유지합니다.

 

주요 특징:

 

데이터 샤딩(Sharding): 데이터를 여러 노드로 분산하여 처리량 및 용량을 확장할 수 있습니다.
자체 복구 메커니즘: 일부 노드 실패 시에도 클러스터 전체적인 가용성 유지 가능합니다.
읽기 및 쓰기 확장성: 다중 노드에서 동시에 읽기 및 쓰기 작업 가능합니다.

 

한계:

 

복잡성: 구축 및 관리하는 것이 비교적 복잡할 수 있습니다.
ACID 제약사항: 일부 ACID 특징인 원자성(Atomic)과 일관성(Consistent) 보증되지 않습니다.

 

 

 

 

레디스 센티넬과 클러스터는 각각 다른 환경에서 고가용성과 확장성을 제공하기 위해 설계되었습니다. 

선택은 사용 사례와 요구사항에 따라 달라질 수 있으며, 

이해하고 적절하게 구현하는 것이 중요합니다.

 

확장성을 위해 클러스터를 선택하는 경우가 많아 예제 준비하였으니 확인하시면 도움될 것입니다.

 

클러스터 예제 : https://rhgustmfrh.tistory.com/49

 

레디스 클러스터를 활용한 데이터 관리와 스프링 부트 연동: 클러스터 구성, 노드 설정, 조회 적

이번엔 Redis Cluster 를 사용하여 데이터를 관리해 봅시다. Cluster 를 사용하는 이점은 다음과 같다. 하나의 서버에서 문제가 발생하더라도 다른 서버에서 실행중인 슬레이브 노드가 해당 데이터를

rhgustmfrh.tistory.com

 

감사합니다.

 

 

 

이미지 출처 : https://architecturenotes.co/redis/

 

Redis Explained

A deep technical dive into all things Redis. Covering various Redis topologies, data persistence and process forking.

architecturenotes.co

 

 

 

 

 

728x90
반응형

댓글