고가용성 및 복제본

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

고가용성

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

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

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

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

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

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

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

복제본

고가용성 Memorystore for Valkey 인스턴스는 지역 리소스입니다. 즉, 영역 서비스 중단을 방지하기 위해 샤드의 기본 VM과 복제 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 명령어를 활용하여 실제 데이터 보안을 개선할 수 있습니다.