고가용성 및 복제본

이 페이지에서는 Memorystore for Valkey의 클러스터 아키텍처가 고가용성(HA)을 지원하고 제공하는 방법을 설명합니다. 이 페이지에서는 인스턴스 성능과 안정성을 개선하는 데 도움이 되는 권장 구성에 대해서도 설명합니다.

고가용성

Memorystore for Valkey는 클라이언트가 관리형 Memorystore for Valkey VM에 직접 액세스하는 고가용성 아키텍처를 기반으로 합니다. 클라이언트는 Memorystore for Valkey 인스턴스에 연결에 설명된 대로 개별 샤드 네트워크 주소에 연결하여 이를 수행합니다.

샤드에 직접 연결하면 다음과 같은 이점이 있습니다.

  • 각 샤드는 독립적으로 실패하도록 설계되었기 때문에 직접 연결은 단일 장애점을 방지합니다. 예를 들어 여러 클라이언트의 트래픽이 슬롯(키스페이스 청크)에 과부하를 일으키는 경우 샤드 오류는 해당 슬롯 제공을 담당하는 샤드로 영향을 제한합니다.

  • 직접 연결은 중간 홉을 방지하여 클라이언트와 Valkey VM 간의 왕복 시간(클라이언트 지연 시간)을 최소화합니다.

단일 영역 인스턴스와 달리 고가용성 멀티 영역 인스턴스를 만들면 안정성이 더 우수하므로 이를 만드는 것이 좋습니다. 하지만 복제본 없이 인스턴스를 프로비저닝하는 경우에는 단일 영역 인스턴스를 선택하는 것이 좋습니다. 자세한 내용은 인스턴스가 복제본을 사용하지 않는 경우 단일 영역 인스턴스 선택을 참조하세요.

인스턴스에 고가용성을 사용 설정하려면 모든 샤드에 1개 이상의 복제본 노드를 프로비저닝해야 합니다. 인스턴스를 만들 때 이 작업을 수행하거나 샤드당 최소 1개의 복제본으로 복제본 수를 확장할 수 있습니다. 복제본은 계획된 유지보수 및 예기치 않은 샤드 오류 발생 중에 자동 장애 조치를 제공합니다.

고객 권장사항의 안내에 따라 클라이언트를 구성해야 합니다. 권장사항을 사용하면 클라이언트가 다운타임 없이 인스턴스의 역할(자동 장애 조치)과 슬롯 할당 변경(노드 교체, 소비자 수평 확장/축소)을 자동으로 원활하게 처리할 수 있습니다.

복제본

가용성이 높은 Memorystore for Valkey 인스턴스는 리전별 리소스입니다. 즉, 영역 서비스 중단으로부터 보호하기 위해 샤드의 기본 및 복제본 VM이 여러 영역에 분산됩니다. Memorystore for Valkey는 노드당 복제본이 0개, 1개 또는 2개인 인스턴스를 지원합니다.

복제본을 사용하여 읽기를 확장하여 읽기 처리량을 늘릴 수 있습니다. 이렇게 하려면 READONLY 명령어를 사용하여 클라이언트가 복제본에서 읽을 수 있는 연결을 설정해야 합니다.

노드당 복제본이 0개인 인스턴스 유형

노드가 3개 영역에 균등하게 분할된 복제본이 없는 Memorystore for Valkey 인스턴스입니다.

노드당 복제본이 1개인 인스턴스 유형

노드당 복제본이 1개 있고 노드가 3개 영역에 균일하게 분산되는 Memorystore for Valkey 인스턴스입니다.

노드당 복제본이 2개인 인스턴스 유형

노드당 복제본이 2개 있고 노드가 3개 영역에 균일하게 분산되는 Memorystore for Valkey 인스턴스입니다.

자동 장애 조치

유지보수 또는 기본 노드의 예기치 않은 장애로 인해 샤드 내의 자동 장애 조치가 발생할 수 있습니다. 장애 조치 중에는 복제본이 기본 인스턴스로 승격됩니다. 복제본을 명시적으로 구성할 수 있습니다. 또한 다운타임을 방지하기 위해 이 서비스는 내부 유지보수 중에 추가 복제본을 임시로 프로비저닝할 수 있습니다.

자동 장애 조치는 유지보수 업데이트 중에 데이터 손실을 방지합니다. 유지보수 중 자동 장애 조치 동작에 대한 자세한 내용은 유지보수 중 자동 장애 조치 동작을 참조하세요.

장애 조치 및 노드 복구 기간

기본 노드 프로세스 비정상 종료 또는 하드웨어 장애와 같은 계획되지 않은 이벤트의 경우 자동 장애 조치에 수십 초 정도 걸릴 수 있습니다. 이 시간 동안 시스템은 오류를 감지하고 새 기본 인스턴스로 사용할 복제본을 선택합니다.

노드 복구는 서비스에서 장애가 발생한 노드를 교체하는 데 몇 분 정도 걸릴 수 있습니다. 이는 모든 기본 노드와 복제본 노드에 해당됩니다. 가용성이 높지 않은 인스턴스(복제본 프로비저닝되지 않음)의 경우 오류가 발생한 기본 노드를 복구하는 데 몇 분 정도 걸립니다.

계획되지 않은 장애 조치 중 클라이언트 동작

장애 특성에 따라 클라이언트 연결이 재설정될 수 있습니다. 자동 복구 후에는 기본 및 복제본 노드의 과부하가 발생하지 않도록 지수 백오프로 연결을 재시도해야 합니다.

읽기 처리량에 복제본을 사용하는 클라이언트는 장애가 발생한 노드가 자동으로 교체될 때까지 일시적인 용량 저하에 대비해야 합니다.

쓰기 손실

예상치 못한 오류로 인한 장애 조치 중에 Valkey 복제 프로토콜의 비동기적 특성으로 인해 확인된 쓰기가 손실될 수 있습니다.

클라이언트 애플리케이션은 Valkey WAIT 명령어를 활용하여 실제 데이터 안전을 개선할 수 있습니다.