Computer >> 컴퓨터 >  >> 프로그램 작성 >> 데이터 베이스

ObjectRocket은 MongoDB를 정상 상태로 유지하고 가용성을 유지합니다.

2020년 11월 ObjectRocket.com/blog에서 처음 게시됨

Rackspace에서 ObjectRocket 팀은 MongoDB® 데이터베이스 관리를 도와드릴 수 있습니다. MongoDB 데이터베이스에 대한 재해 복구, 복제, 내결함성 및 고가용성을 제공합니다.

ObjectRocket은 MongoDB를 정상 상태로 유지하고 가용성을 유지합니다.

소개

ObjectRocket은 현재 Sharded 및 Replica MongoDB 인스턴스 옵션을 제공하지만, 그 뒤에서 우리는 항상 데이터 중복성과 내결함성을 위해 3구성원 복제본 세트를 사용합니다. Sharded 인스턴스는 전용 mongos 서버, 구성 서버 및 샤드 자체로 구성되며 각각 3개 회원 복제 세트.

그러나 재해 복구는 다른 문제입니다. ObjectRocket은 Sharded 및 Replica MongoDB 인스턴스가 재해 발생 시 사용할 수 있는 추가 비용으로 다른 데이터 센터에서 미러링된 구성원 복제 세트를 수신하는 재해 복구 체계를 제공합니다.

패키지

모든 ObjectRocket 관리형 MongoDB 인스턴스는 고가용성, 복제(데이터 중복성) 및 내결함성을 패키지로 제공합니다.

고가용성

고가용성(HA)을 통해 다양한 기술을 통해 항상 데이터에 액세스할 수 있습니다. 그러나 거의 모든 HA 솔루션의 핵심 구성 요소는 데이터 복제본입니다. 여기에서 데이터 중복성이 작동합니다. 데이터베이스는 하나만 볼 수 있지만 이면에는 해당 데이터의 정확한 사본(복제본)이 두 개 이상 있어 장애가 발생할 경우 한 복제본 세트 노드에서 다른 노드로 이동하는 데 도움이 됩니다.

내결함성

내결함성은 동일한 결함 영역 내의 구성 요소에 장애가 발생한 경우에도 시스템이 계속해서 올바르게 작동할 수 있도록 하는 속성입니다. 비즈니스 연속성을 보장하기 위해 각 샤드의 복제본 집합 구성원에 대해 서로 다른 호스트 또는 서버를 사용하므로 하나가 다른 하나가 다운될 경우 나머지가 작동합니다.

복제(데이터 중복)

MongoDB 복제는 애플리케이션 수준에서 여러 서버 간에 데이터를 동기화하는 프로세스입니다. 복제는 중복성을 제공하고 서로 다른 데이터베이스 서버에 있는 여러 데이터 복사본을 통해 데이터 가용성을 높입니다. 복제는 단일 서버의 손실로부터 데이터베이스를 보호하고 하드웨어 오류 및 서비스 중단으로부터 복구할 수 있도록 합니다. 추가 데이터 복사본을 사용하여 하나 이상의 재해 복구, 보고 또는 백업 전용으로 사용할 수 있습니다.

재해 복구(선택 사항)

재해 복구(DR)는 데이터 센터 수준의 중단을 유발할 수 있는 자연 재해, 정전과 같은 심각한 부정적인 이벤트의 영향으로부터 조직을 보호하는 계획 영역입니다. DR의 목표는 비즈니스가 가능한 한 정상에 가깝게 지속되는 것입니다.

DR이 없는 사용 사례

일년 내내 특히 CyberMonday와 휴가철에 높은 매출을 올리는 시나리오를 가정해 보겠습니다.

아키텍처는 어떻게 생겼을까요?

미국에 기반을 둔 회사로서 미국 내에 데이터를 저장하기를 원합니다. DFW 데이터 센터를 사용하여 데이터를 저장하고 IAD 데이터 센터를 사용하여 백업을 유지합니다.

보조 역할을 하는 두 개의 노드에 데이터를 미러링하여 HA를 달성합니다. 노드. 기본 어떤 이유로든 실패, 보조 새로운 기본이 됨 노드에 아직 다른 백업이 있습니다. 그동안 우리 지원팀은 실패한 노드를 복구하고 새로운 기본 노드와 동기화합니다. .

MongoDB는 하나의 기본을 사용하여 단일 대형 복제본 세트를 통해 수평으로 확장할 수 있습니다. 및 2개의 보조 up(또는 down) 상태에 대한 하트비트 통신이 있는 노드 및 oplog를 통해 발생하는 보조 노드로 복제

동일한 데이터 센터 내의 서로 다른 하드웨어에 각 호스트를 배치하여 내결함성을 달성합니다. 그렇게 하면 하드웨어에 장애가 발생해도 MongoDB가 계속 작동합니다.

일반적으로 샤드는 단일 MongoDB 인스턴스일 수 있습니다. 그러나 이전에 언급했듯이 ObjectRocket의 복제본 세트에는 다음 이미지와 같이 3개의 MongoDB 인스턴스가 포함됩니다.

샤드:

  • DFWNODE1:기본
  • DFWNODE2:보조
  • DFWNODE3:보조
ObjectRocket은 MongoDB를 정상 상태로 유지하고 가용성을 유지합니다.

ObjectRocket에서 HA, 데이터 중복성 및 내결함성이 작동하는 방식

유지 보수, 다운타임 또는 장애 발생 시 시스템은 기본을 전환할 수 있습니다. 보조 노드 및 문제 없이 계속하여 HA를 제공합니다.

데이터는 oplog를 통해 PRIMARY 노드에서 SECONDARY 노드로 복제되어 데이터 중복성을 달성합니다.

Fault Tolerance와 관련하여 Replica 세트 구성원 중 하나를 호스팅하는 서버가 고장나는 가능성이 희박한 시나리오를 상상해 봅시다. 기본 여부 또는 보조 노드가 실패하면 지원 팀에서 문제를 해결할 때까지 MongoDB 인스턴스가 2노드 복제본 세트에서 계속 실행됩니다.

DR 사용 사례

우리의 계획은 인스턴스에 가장 가까운 데이터 센터 중 하나에서 현재 인스턴스를 미러링합니다(인스턴스에 추가한 샤드 수에 관계없이). 또한 IAD에 DR 계획이 설정되어 있습니다. IAD 복제 세트 구성원을 기본에 연결할 수 있습니다. 데이터가 지역 간에 동기적으로 복제된 DFW3 노드. 이렇게 하면 다음 예와 같이 데이터가 최신 상태로 유지됩니다.

샤드:

  • DFWNODE1:기본
  • DFWNODE2:보조
  • DFWNODE3:보조
  • IADNODE1:보조
  • IADNODE2:보조
  • IADNODE3:보조
ObjectRocket은 MongoDB를 정상 상태로 유지하고 가용성을 유지합니다.

결론

HA, 복제 및 내결함성은 ObjectRocket 플랫폼에서 재해 복구와 결합됩니다. 또한, 우리는 이 모든 것을 똑똑한 사람들과 함께 지원하여 피크 시간 동안 안전하고 안정적으로 유지합니다.

관리형 MongoDB에 대해 자세히 알아보세요.

피드백 탭을 사용하여 의견을 작성하거나 질문하십시오. 저희와 대화를 시작할 수도 있습니다.