Sentinel 기반 구조
마스터 한대에 슬레이브 여러개가 떠 있고, Sentinel 프로세스 여러개가 마스터를 감시하고 있음. 마스터가 장애나면 슬레이브 하나를 마스터로 승격시키는 구조(페일오버)
즉 단일 Redis를 장애없이 지속시키는게 목적인 아키텍쳐
단일 레디스이기 때문에 샤딩이 없다. 모든 노드가 같은 데이터 저장함. 또한 단일 마스터가 가진 메모리 한계 이상으로 데이터 저장 못함.
대신 multi-key 연산등에 제한이 없음.
16384개의 슬롯을 여러 master 노드로 분산하고, 각 master마다 slave 보유함. Sentinel이런거 없이 클러스터가 자체적으로 failover 수행
이런 클러스터 구조를 통해 수평확장이 가능함. 노드를 늘리면 전체 메모리가 늘어난다.
각 key는 해시 슬롯 기반으로 특정 노드에만 저장됨(샤딩)
다만 multi-key연산이 제한된다. 같은 슬롯이면 가능하지만, 다른 슬롯이면 불가능함.(cross-slot)에러가 난다.