Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Cơ Sở Dữ Liệu

Đảm Bảo Sức Khỏe & Khả Dụng MongoDB Với Dịch Vụ Quản Trị Của ObjectRocket

Được xuất bản lần đầu vào tháng 11 năm 2020, tại ObjectRocket.com/blog

Tại Rackspace, đội ngũ ObjectRocket có thể giúp bạn quản lý database MongoDB® của bạn. Chúng tôi cung cấp disaster recovery, replication, fault tolerance, và high availability cho database MongoDB của bạn.

Đảm Bảo Sức Khỏe & Khả Dụng MongoDB Với Dịch Vụ Quản Trị Của ObjectRocket

Giới thiệu

ObjectRocket hiện cung cấp tùy chọn instance MongoDB Sharded và Replica, nhưng behind the scenes, chúng tôi luôn dùng three-member replica sets cho data redundancy và fault tolerance. Sharded instances bao gồm dedicated mongos servers, config servers, và các shard bản thân, mỗi shard là một three-member replica set.

Tuy nhiên, disaster recovery là vấn đề khác. ObjectRocket cung cấp disaster recovery scheme nơi Sharded và Replica MongoDB instances của bạn nhận mirrored member replica sets trong data center khác với chi phí bổ sung, bạn có thể dùng trong trường hợp sự kiện disaster.

Gói dịch vụ

Tất cả managed MongoDB instances của ObjectRocket đi kèm high availability, replication (data redundancy), và fault tolerance như một gói.

High availability

Với high availability (HA), bạn có thể truy cập dữ liệu mọi lúc qua các công nghệ khác nhau. Tuy nhiên, một thành phần then chốt của hầu hết giải pháp HA là replica của dữ liệu của bạn. Đây là nơi data redundancy phát huy tác dụng. Bạn chỉ thấy một database, nhưng behind the scenes, có hai hoặc nhiều bản sao chính xác (replica) của dữ liệu đó, giúp chuyển đổi từ node replica set này sang node khác trong trường hợp failure.

Fault tolerance

Fault tolerance là thuộc tính cho phép hệ thống tiếp tục hoạt động đúng trong sự kiện failure của một component trong cùng fault zone. Để đảm bảo business continuity, chúng tôi dùng host hoặc server khác nhau cho mỗi member của replica-set shard của bạn, vậy nếu một node down, các node khác vẫn hoạt động.

Replication (data redundancy)

MongoDB replication là quá trình đồng bộ dữ liệu qua nhiều server ở application level. Replication cung cấp redundancy và tăng data availability với nhiều bản sao dữ liệu trên các database server khác nhau. Replication bảo vệ database khỏi mất một server đơn lẻ và cho phép bạn recover từ hardware failure và service interruption. Với các bản sao dữ liệu bổ sung, bạn có thể dành một hoặc nhiều cho disaster recovery, reporting, hoặc backup.

Disaster recovery (tùy chọn)

Disaster Recovery (DR) là khu vực lập kế hoạch bảo vệ tổ chức khỏi tác động của các sự kiện tiêu cực lớn như thiên tai, mất điện gây outage cấp data center. Mục tiêu của DR là để business tiếp tục gần như bình thường.

Use case không có DR

Giả sử kịch bản bạn có doanh số cao quanh năm, đặc biệt là Cyber Monday và mùa lễ hội.

Kiến trúc sẽ trông như thế nào?

Là công ty tại United States, bạn muốn lưu dữ liệu trong United States, nên hãy dùng data center DFW để lưu dữ liệu và datacenter IAD để giữ backup.

Chúng tôi đạt HA bằng cách mirror dữ liệu của bạn sang hai node đóng vai trò secondary nodes. Nếu primary fail vì bất kỳ lý do nào, một secondary trở thành primary node mới nhưng vẫn còn backup khác. Trong lúc đó, đội ngũ support của chúng tôi recover node bị fail và sync nó với primary mới.

MongoDB có thể scale out ngang qua single large Replica sets bằng cách dùng một primary và hai secondary nodes với heartbeat communication cho trạng thái up (hoặc down) và replication đến secondaries qua oplog.

Chúng tôi đạt fault tolerance bằng cách đặt mỗi host trên hardware khác nhau trong cùng datacenter. Như vậy, nếu bất kỳ hardware nào fail, MongoDB của bạn vẫn hoạt động.

Thông thường, một shard có thể là single MongoDB instance. Tuy nhiên, như đã nhắc trước, replica sets trên ObjectRocket bao gồm ba MongoDB instances, như hình sau:

Shard:

  • DFWNODE1: PRIMARY
  • DFWNODE2: SECONDARY
  • DFWNODE3: SECONDARY
Đảm Bảo Sức Khỏe & Khả Dụng MongoDB Với Dịch Vụ Quản Trị Của ObjectRocket

Cách HA, data redundancy, và fault tolerance hoạt động trong ObjectRocket

Trong trường hợp maintenance, downtime, hoặc failure, hệ thống có thể chuyển primary với bất kỳ secondary node nào và tiếp tục không vấn đề, do đó cung cấp HA.

Dữ liệu được replicate từ node PRIMARY sang các node SECONDARY qua oplog, do đó đạt data redundancy.

Về Fault Tolerance, hãy tưởng tượng kịch bản không may server host một trong các Replica set members bị hỏng. Dù primary hay secondary node fail, MongoDB instance của bạn tiếp tục chạy trong two-node replica set cho đến khi support team khắc phục sự cố.

Use Case có DR

Scheme của chúng tôi mirror instance hiện tại của bạn (bất kể số shard bạn thêm vào instance) trong một trong những data center gần nhất với instance. Chúng tôi cũng có DR plan setup tại IAD cho bạn. Chúng tôi có thể kết nối IAD replica-set members đến node primary ở DFW3, với dữ liệu được replicate synchronously across regions. Điều này đảm bảo dữ liệu của bạn luôn up-to-date, như minh họa sau:

Shard:

  • DFWNODE1: PRIMARY
  • DFWNODE2: SECONDARY
  • DFWNODE3: SECONDARY
  • IADNODE1: SECONDARY
  • IADNODE2: SECONDARY
  • IADNODE3: SECONDARY
Đảm Bảo Sức Khỏe & Khả Dụng MongoDB Với Dịch Vụ Quản Trị Của ObjectRocket

Kết luận

HA, replication, và fault tolerance kết hợp với disaster recovery trên nền tảng ObjectRocket. Thêm vào đó, chúng tôi backup tất cả điều này bằng smart people—giữ bạn an toàn và ổn định trong peak times.

Tìm hiểu thêm về Managed MongoDB.

Sử dụng tab Feedback để đưa ra nhận xét hoặc đặt câu hỏi. Bạn cũng có thể bắt đầu cuộc trò chuyện với chúng tôi.