배포서버 패러다임을 선택하려면 가용성(일반적으로, 운영 중단 시 모두), 지연 시간, 컴플라이언스 및 비용 에 대한 애플리케이션 요구 사항을 고려해야 합니다. 배포서버 에 대한 하나의 '올바른' 패러다임은 없습니다. 이 섹션에서는 배포서버 요구 사항을 충족하는 데 사용할 수 있는 아키텍처를 살펴봅니다.
데이터베이스 배포할 때는 먼저 단일 리전 에 배포할지, 아니면 여러 리전에 배포할지 선택해야 합니다. 다음 다이어그램은 이러한 옵션을 보여주며, 이에 대한 자세한 설명은 아래에서 설명합니다.

단일 리전 배포
단일 리전 배포는 가장 간단한 배포서버 옵션입니다. 단일 리전 배포서버 에서 데이터는 제공자의 리전 중 하나(예: AWS의 us-west-2
또는 Google의)에 asia-northeast3
저장됩니다. 여러 구역이 있는 리전의 경우 Atlas 항상 구역 수준의 가용성을 제공하며, 클러스터 노드는 단일 리전 내의 가용영역에 분산되어 있습니다. 따라서 단일 구역 장애가 발생하더라도 다른 구역에서 데이터를 계속 사용할 수 있습니다.
참고
권장 리전에는 세 개의 가용영역이 있으며, Atlas UI 에서 별표 아이콘으로 표시됩니다.
단일 리전 배포서버 의 단순성과 저렴한 비용 으로 인해 애플리케이션 사용자 분포에 따라 가용성이 낮아지고 지연 시간 길어질 위험이 있습니다.
다중 지역 배포
멀티 리전 배포서버 단일 리전 배포서버 보다 더 넓은 지리적 범위 에서 더 높은 가용성과 짧은 지연 시간 제공하는 더 복잡한 배포서버 패러다임입니다. 멀티 리전 배포에는 여러 유형이 있습니다.
하나의 지리 내 다중 리전 : 국가 또는 대륙과 같은 넓은 영역으로 정의된 단일 지리 내에서 단일 cloud 제공자 호스팅하는 여러 리전에 배포합니다. 이렇게 하면 특정 리전 장애가 발생할 경우 가용성이 보장됩니다.
예시 들어AWS 리전
us-west-1
및(두 리전us-east-1
모두 미국에 있음)에 클러스터를us-east-1
배포 . 를 사용할 수 없게 되면us-west-1
는 정상 성능에 가까운 읽기 및 쓰기를 계속 허용합니다.여러 지역의 다중 리전: 둘 이상의 지리적 위치에 있는 하나 이상의 리전에 배포합니다. 이렇게 하면 특정 리전 장애가 발생하거나 전체 지리적 영역을 사용할 수 없는 경우에도 가용성이 보장됩니다.
예시 들어, 두 리전 모두 미국에 있는 AWS 리전 및 에 클러스터를 배포
us-east-1
us-east-2
하고 세 번째 클러스터eu-west-2
유럽에 있는 에 배포합니다.멀티 클라우드 : 여러 cloud 제공자가 호스팅하는 하나 이상의 리전에 배포합니다. 이를 통해 최고 수준의 가용성을 제공하여 특정 리전 하나에 장애가 발생하거나 전체 cloud 제공자 장애가 발생할 경우에도 데이터를 사용할 수 있습니다.
예시 들어,AWS 리전
us-west-1
및 Google Cloud 리전 에 클러스터를 배포us-east4
.
가용성 고려 사항
가용성은 종종 클러스터가 중단에 대해 얼마나 복원력이 있는지 고려되며, 재해 복구는 시스템이 중단(RTO)에서 얼마나 빠르게 복구할 수 있는지와 중단(RPO)으로 손실될 수 있는 데이터의 양을 나타냅니다. 모든 Atlas 인스턴스에는 항상 최신 데이터가 있으므로 페일오버 시 백업을 복원할 필요가 없습니다.
Atlas 에는 배포서버에 복제 내장되어 있으며, 이는 다음을 의미합니다.
데이터베이스 인스턴스는 일반적으로 밀리초 범위 에서 서로 긴밀하게 동기화 됩니다.
중단이 이벤트 데이터베이스 인스턴스 간의 페일오버 완전 자동으로 이루어집니다. 사람의 개입이 필요하지 않으며 몇 초 밖에 걸리지 않습니다.
의 기본값 writeConcern을
majority
사용하면 모든 데이터가 여러 위치에 기록되어 데이터 손실을 방지하기 때문에 페일오버 중에 데이터 손실이 발생하지 않습니다. 또한 DB 운전자 진행 중인 작업이 성공할 수 있도록 자동으로 재시도합니다.
즉, 대다수의 노드가 정상 상태인 한 RTO, RPO 및 데이터 복제 빈도가 사실상 동일하며 Atlas 클러스터가 완전히 작동합니다.
참고
최대 RTO 및 RPO는 전체 클러스터 와 애플리케이션 배포 방법 모두에서 총체적으로 고려되어야 합니다. 클러스터 의 전체 워크로드 고려하여 요구 사항을 지원 하는지 확인하세요.
배포 패러다임 비교
어떤 배포서버 패턴 나에게 적합한지 파악하려면 핵심 비즈니스에 얼마나 중요한지 기준으로 애플리케이션을 분류하세요. 애플리케이션 중요할수록(즉, 중단이 비즈니스에 미치는 영향 클수록) 모든 중단 이벤트 자동으로 처리하는 아키텍처를 더 많이 고려해야 합니다.
다음 표는 요구 사항에 가장 적합한 것을 결정하는 데 도움이 되는 배포서버 패러다임을 비교하여 제공합니다.
우선 순위 수준 | 설명 | RTO | 배포 모델 | 상대 비용 |
---|---|---|---|---|
계층 0 | 중요도가 가장 높은 애플리케이션. 리전 중단 이벤트 에도 완전 자동화된 페일오버 필요합니다. | 0 | $$$ | |
계층 1 | 중요도가 낮은 애플리케이션. 상당한 수익 영향 주지 않고 일부 다운타임 또는 유지 관리 기간을 경험할 수 있습니다. | > 1 시간 및 < 8 시간 | $$ | |
계층 2 | 중요도가 가장 낮은 애플리케이션. 큰 수익 영향 주지 않고 24 시간 동안 다운될 수 있습니다. | > 8 시간 | $+ | |
비프로덕션 | 중요하지 않은 애플리케이션. 수익 에 직접 책임이 없고 고객을 대면하지 않는 환경입니다. 일반적으로 개발 및 테스트 환경입니다. | N/A | $0 이상 |
참고
각 배포서버 유형의 비용 선택한 제공자, 필요한 리전 수, 저장 용량, 서버의 처리 능력 등 여러 요인에 따라 달라집니다. 최신 가격 정보는 MongoDB 가격 책정 을 참조하세요.
사용 사례
배포서버 패러다임을 선택할 때는 먼저 지리적으로 가장 광범위한 사용자에게 제공 위해 배포 할 수 있는 가장 적은 수의 리전을 파악해야 합니다. 그런 다음 가용성, 성능 및 데이터 주권에 대한 요구 사항에 따라 리전 또는 cloud 제공자를 추가하는 것을 고려하세요.
다음 사용 사례를 고려하여 애플리케이션 사용자의 지리적 분포에 적합한 배포서버 패러다임을 결정하세요.
사용자가 대부분 한 지역에 있음
애플리케이션 사용자의 대부분이 한 지역에 있는 경우 동일한 지역 내의 하나 이상의 리전에 배포 것이 좋습니다. 단일 리전 배포서버 단일 가용영역 의 중단으로부터 보호할 수 있지만, 다중 리전 배포서버 더 넓은 지리적 영역을 포함하며 구역 및 리전 중단 모두에서 가용성을 보장합니다. 더 높은 가용성을 위해 여러 리전에 배포 할 수 있습니다. 이러한 옵션은 모두 짧은 지연 시간 지원 모든 사용자 데이터가 동일한 지리적 위치 내에서 액세스되고 저장되므로 데이터 주권 요구 사항을 간단하게 컴플라이언스 할 수 있습니다.
이러한 배포서버 패러다임에 대해 자세히 학습 다음 패러다임 페이지를 참조하세요.
여러 지역에 분산된 사용자
애플리케이션 사용자가 미국과 유럽과 같이 여러 지역에 분산된 있는 경우 각 지역에서 하나 이상의 리전에 배포 것이 좋습니다. 고객에게 제공 하는 각 리전 중 하나에 배포하면 지리적 중단 시 짧은 지연 시간 과 가용성을 제공합니다. 또한 각 지역의 사용자 데이터가 해당 지역 내에서 호스팅되도록 데이터를 분할 하여 데이터 주권 요구 사항을 충족할 수 있습니다.
리전 중단 시 지연 시간 늘리거나 데이터 주권 요구 사항을 위반하지 않고 고가용성 보장하기 위해 각 리전의 여러 리전에 배포 할 수도 있습니다. 여러 리전의 여러 리전에 클러스터를 배포하여 멀티 리전 배포서버 최고의 가용성을 달성할 수 있습니다.
이러한 배포서버 패러다임에 대해 자세히 학습 다음 패러다임 페이지를 참조하세요.
전 세계에 분산된 사용자
애플리케이션 전 세계 대상에게 배포하는 경우 글로벌 배포서버 고려하기 전에 여러 지역에 걸쳐 멀티 리전 배포서버 배포 것이 좋습니다. 거의 대부분의 경우 여러 지역에 멀티 리전 배포서버 고가용성, 짧은 지연 시간 및 데이터 주권에 대한 요구 사항을 충족할 수 있습니다. 드문 경우지만, 가장 복잡한 다중 리전 배포서버 패러다임이며 매우 신중한 계획이 필요한 글로벌 Atlas 배포가 필요할 수 있습니다.
이러한 배포서버 패러다임에 대해 자세히 학습 다음 페이지를 참조하세요.