다음을 통해 공유


Azure Cosmos DB for MongoDB vCore의 고가용성

적용 대상: MongoDB vCore

지역내 고가용성(HA)은 클러스터에 있는 모든 분할된 대기 복제본을 유지 관리하여 데이터베이스 가동 중지 시간을 방지합니다. 어떤 이유로든 분할이 응답하지 않는 경우 Azure Cosmos DB for MongoDB vCore는 들어오는 연결을 실패한 분할에서 대기로 전환합니다. 장애 조치(failover)가 발생하면 승격된 분할된 데이터베이스에는 항상 동기 복제를 통해 새 데이터가 있습니다.

클러스터의 모든 기본 분할은 분할 간의 대기 시간을 높이기 위해 AZ(가용성 영역) 하나로 프로비전됩니다. 대기 분할은 다른 가용성 영역으로 프로비전됩니다.

HA를 사용하지 않더라도 각 분할된 데이터베이스에는 Azure Storage 서비스에서 유지 관리하는 동기 복제본 3개가 포함된 자체 LRS(로컬 중복 스토리지)가 있습니다. 세 복제본 모두 클러스터의 Azure 지역에 있습니다. 단일 복제본 오류가 있는 경우 Azure Storage 서비스는 이를 감지하고 실패한 복제본을 투명하게 다시 만듭니다. LRS 스토리지 내구성에 대해서는 이 페이지에서 메트릭을 참조하세요.

HA가 사용하도록 설정되면 Azure Cosmos DB for MongoDB vCore는 클러스터의 각 기본 분할에 대해 하나의 대기 분할을 실행합니다. 각 기본 및 대기 분할에는 동일한 컴퓨팅 및 스토리지 구성이 있습니다. 기본 및 해당 대기는 동기 복제를 사용합니다. 이 유형의 복제를 사용하면 항상 클러스터의 기본 및 대기 분할에 동일한 데이터를 가질 수 있습니다. 간단히 말해서, 서비스는 주 분할된 데이터베이스에서 오류를 감지하고 데이터 손실이 없는 대기 분할된 데이터베이스로 장애 조치(fails over)합니다.

클러스터 연결 문자열은 장애 조치(failover)에 관계없이 항상 동일하게 유지됩니다. 이를 통해 서비스는 애플리케이션의 요청을 제공하는 실제 분할의 변경 내용을 추상화할 수 있습니다.

클러스터에서 지역 내 고가용성을 사용하도록 설정하면 각 클러스터 분할에는 가용성에 대한 99.99% SLA(서비스 수준 계약)가 적용됩니다.

클러스터를 만들 때 고가용성을 사용하도록 설정할 수 있습니다. 또한 기존 Azure Cosmos DB for MongoDB vCore 클러스터에서 언제든지 고가용성을 사용하도록 설정하거나 사용하지 않도록 설정 할 수 있습니다. Azure Cosmos DB for MongoDB vCore 클러스터에서 고가용성을 사용하거나 사용하지 않도록 설정한 경우 데이터베이스 가동 중지 시간이 없습니다.

장애 조치(failover) 중에 발생하는 작업

각 분할 장애 조치(failover)는 사용할 수 없음 검색, 대기 분할로 전환 및 대기 분할 다시 만들기의 세 단계로 구성됩니다. 서비스는 주기적인 상태 검사를 수행하여 클러스터의 각 기본 및 대기 분할에 대한 지속적인 가용성 모니터링을 수행합니다. 상태 검사에서 분할이 응답하지 않고 실패했다고 선언해야 하는 경우 대기 분할의 실제 장애 조치(failover)(스위치)가 시작됩니다.

전환 단계에서 데이터베이스 읽기 및 쓰기는 대기 분할로 리디렉션됩니다. 각 기본 분할과 대기 분할 간의 동기 복제는 대기 분할이 항상 기본 데이터베이스와 동일한 데이터 집합을 갖도록 합니다. 이렇게 하면 데이터 손실이 0인 모든 장애 조치(failover)를 수행할 수 있습니다. 대기로 전환은 읽기에 대한 가동 중지 시간 없이 수행됩니다. 쓰기 작업을 수행하려면 전환 단계 중에 내부 서비스를 다시 시도해야 할 수 있습니다. 이러한 재시도는 애플리케이션 쪽에서 쓰기 속도 저하로 보일 수 있습니다.

분할 장애 조치(failover)가 완료되면 클러스터가 완전히 작동합니다. 원래 고가용성 구성으로 돌아가는 마지막 단계는 대기 분할을 다시 만드는 것입니다. 이 대기 분할은 다시 생성은 기본 분할의 가동 중지 시간 또는 성능에 영향을 주지 않고 수행됩니다.