독자 이득: 단일 장애점(SPOF)을 제거하는 복제 구조와 대규모 트래픽을 견디는 샤딩(Sharding) 메커니즘을 이해하고, 서비스 규모에 맞는 최적의 고가용성 아키텍처를 설계할 수 있습니다.


1. 개요

아무리 빠른 데이터베이스라도 단 한 대의 서버에서만 운영된다면, 해당 서버에 장애가 발생하는 순간 서비스 전체가 마비됩니다. 또한 데이터 양이 서버 한 대의 메모리 용량을 초과하면 성능은 급격히 저하됩니다.

Redis는 이를 해결하기 위해 데이터 복제를 통한 **고가용성(High Availability)**과 데이터 분산을 통한 **수평 확장성(Scalability)**이라는 두 가지 강력한 아키텍처 모델을 제공합니다.


2. 문제 정의: "서버 한 대로는 부족한 두 가지 순간"

운영 중 마주하게 되는 시스템의 한계는 다음과 같습니다.

2.1 단일 장애점(SPOF)의 위험

메인 서버(Master)가 하드웨어 결함이나 네트워크 문제로 다운될 경우, 수동으로 복구하기 전까지 모든 캐시 읽기/쓰기가 중단됩니다. 이는 곧 서비스 전체의 가용성 저하로 이어집니다.

2.2 물리적 메모리 용량의 한계 (Vertical Scale의 한계)

트래픽이 폭증하여 필요한 캐시 용량이 128GB, 256GB로 늘어날 때, 단일 서버의 메모리를 무한정 늘리는 방식은 비용과 관리 측면에서 효율적이지 않습니다.


3. 해결책: 복제와 샤딩을 통한 구조적 진화

Redis는 서비스의 성숙도에 따라 단계별 확장 모델을 제시합니다.

3.1 Replication & Sentinel: 자동 페일오버의 완성

Master 서버의 데이터를 실시간으로 복제본(Replica)에 동기화하는 방식입니다.

3.2 Redis Cluster: 진정한 수평 확장(Sharding)