주요 개념
Redis는 관리형 캐시 데이터베이스 서비스로, 별도의 설치 과정없이 Redis를 간편하게 활용할 수 있습니다. Redis 서비스의 주요 개념은 다음과 같습니다.
주요 개념 | 설명 |
---|---|
Cache Only | 디스크를 사용하지 않고 모든 데이터를 메모리에 저장하는 캐시 서비스 |
클러스터 | 클러스터는 다수의 샤드로 구성되며, 각 샤드는 하나의 Primary 노드와 다수의 Replica 노드로 구성 - 사용자의 필요에 따라 클러스터 모드를 사용/ 사용 안 함으로 선택하여 목적에 맞는 Redis 구성이 가능 |
샤드 | 샤드는 클러스터 데이터셋을 분할하는 단위로 다수의 Redis 노드로 구성되며, 각 노드는 한 개의 Primary와 다수의 Replica의 역할을 가짐 - 샤드 추가 : 선택한 Redis 클러스터에 부하가 증가할 경우 샤드를 추가함 - 샤드 삭제: 선택한 Redis 클러스터에서 불필요한 샤드를 삭제함 |
노드 | Primary 또는 Replica 역할을 하는 Redis가 설치된 VM(Virtual Machine) - 노드 타입: 클러스터 생성 시 데이터의 크기 및 부하를 고려하여 적절한 노드 유형을 선택하여 사용 가능 - 노드 수명 주기와 상태값: 노드 상태값에 따라 상황 파악 가능 - 노드 추가: 선택한 Redis 클러스터에 읽기 부하가 증가할 경우 Replica 노드를 추가함 - 노드 삭제: 선택한 Redis 클러스터에서 불필요한 노드를 삭제함 |
고가용성 | 노드 장애 시 자동으로 조치하여 서비스를 지속할 수 있는 환경을 제공 - Primary 노드 장애 시, 자동으로 Replica 노드 중 가장 최신의 데이터를 보유한 Replica 노드를 선택하여 Primary로 승격(Automatic Failover)하며 새로운 Replica 노드를 생성하여 Replica 개수를 유지(Auto Healing) - Replica 노드 장애 시, 자동으로 새로운 노드로 대체하여 Replica 개수를 유지 |
승격 | 고가용성 기능을 사용하는 경우 - 사용자는 승격을 요청할 수 없고 서비스에서 필요하다고 판단할 때 자동으로 승격을 수행함 고가용성 기능을 사용하지 않는 경우 - 수동으로 간편하게 Replica 노드를 Primary 노드로 승격 가능 |
읽기/쓰기 전용 엔드포인트 제공 | -클러스터 모드를 사용하지 않을 경우, Redis 접속용으로 읽기/쓰기가 가능한 Primary 엔드포인트와 읽기 전용인 Read 엔드포인트 제공 -클러스터 모드를 사용할 경우, 읽기 전용인 Read 엔드포인트는 제공하지 않으며, 각 노드의 엔드포인트를 제공 |
Cache Only
Redis 서비스는 모든 데이터를 디스크에 저장하지 않고 메모리에 저장해 캐시 용도로만 사용할 수 있습니다.
클러스터
클러스터는 하나 이상의 Redis 노드 모음으로서, Redis 서비스에서 자동으로 관리되는 구성단위입니다. 클러스터는 다수의 샤드 내 여러 Redis 노드로 구성되며 각 노드는 Primary와 Replica의 역할을 가집니다. 필요에 따라 샤드 또는 Replica 노드 추가, 삭제할 수 있습니다.
클러스터 수명 주기 및 상태값
Redis 클러스터의 수명 주기와 상태값은 다음과 같습 니다.
- 클러스터 모드를 사용 시
- 클러스터 모드 미사용 시
안내
클러스터 모드를 사용할 경우, 샤드의 상태와 각 노드의 상태는 클러스터의 상태와 의존성을 가지고 있어 동일한 상태를 가집니다.
클러스터 모드를 사용할 경우의 클러스터/ 샤드/ 노드의 수명 주기 다이어그램
상태 | 설명 |
---|---|
Init | 클러스터 생성 초기 상태로 생성 시작 전의 상태 |
Creating | 자원 생성 중 |
Running | 동작 중 |
Modifying | 샤드 추가/삭제, 노드 추가/삭제 등 클러스터의 형상 변경 중 |
Deleting | 자원 삭제 중 |
클러스터 모드를 사용하지 않을 경우의 수명 주기 다이어그램
상태 | 설명 |
---|---|
Init | 클러스터를 생성한 직후의 상태로 생성 시작을 진행하는 상태 |
Provisioning | 클러스터에 포함된 모든 노드들이 필요한 리소스 준비 중 |
Replicating | 클러스터에 포함된 노드들의 역할을 구성하고 엔드포인트 생성 중 |
Running | Redis 서비스가 정상적으로 구성 및 기동이 완료되어 접속 가능 |
ScalingIn | 특정 Replica 노드 삭제 진행 중 |
SwitchingOver | 특정 Replica 노드를 Primary 노드로 승격 진행 중 |
ScalingOut | 새로운 노드를 생성하고, Replica 역할 부여 중 |
Recovering | 고가용성 기능을 사용하는 클러스터의 노드 장애 발생 시, 자동으로 알맞은 조치를 취하고 있는 상태 |
Terminating | 클러스터의 삭제 처리 중 |
Terminated | 클러스터의 삭제 완료 |
Warning | 특정 상태에서 일시적인 오류가 발생한 상태로 문제 해소 시 정상 상태로 복귀 가능 |
Failed | 영구적인 오류 발생으로 인한 비정상 상태이며, 정상 상태로 복귀할 수 없으며 삭제만 가능 |