Hướng dẫn mongodb deployment architecture - kiến trúc triển khai mongodb

Tài liệu về nhà → Hướng dẫn sử dụng MongoDBMongoDB Manual

Kiến trúc của một bộ bản sao ảnh hưởng đến khả năng và khả năng của bộ. Tài liệu này cung cấp các chiến lược cho việc triển khai bộ bản sao và mô tả các kiến ​​trúc chung.

Việc triển khai bộ bản sao tiêu chuẩn cho một hệ thống sản xuất là bộ bản sao gồm ba thành viên. Các bộ này cung cấp dự phòng và dung sai lỗi. Tránh sự phức tạp khi có thể, nhưng hãy để các yêu cầu ứng dụng của bạn ra lệnh cho kiến ​​trúc.

Thêm thành viên trong một bộ bản sao theo các chiến lược này.

Một bộ bản sao có thể có tối đa 50 thành viên, nhưng chỉ có 7 thành viên bỏ phiếu. Nếu bộ bản sao đã có 7 thành viên bỏ phiếu, các thành viên bổ sung phải là thành viên không bỏ phiếu.

Đảm bảo rằng bộ bản sao có số lượng thành viên bỏ phiếu lẻ. Một bộ bản sao có thể có tối đa 7 thành viên bỏ phiếu. Nếu bạn có số lượng thành viên bỏ phiếu chẵn, hãy triển khai một thành viên bỏ phiếu mang dữ liệu khác hoặc, nếu các ràng buộc cấm đối với một thành viên bỏ phiếu khác, một trọng tài.

Một trọng tài không lưu trữ một bản sao của dữ liệu và yêu cầu ít tài nguyên hơn. Do đó, bạn có thể chạy trọng tài trên máy chủ ứng dụng hoặc tài nguyên được chia sẻ khác. Không có bản sao của dữ liệu, có thể đặt một trọng tài vào các môi trường mà bạn sẽ không đặt các thành viên khác của bộ bản sao. Tham khảo chính sách bảo mật của bạn.

Đối với các phiên bản MongoDB sau đây, pv1 làm tăng khả năng rollback của w:1 so với pv0 [không còn được hỗ trợ trong MongoDB 4.0+] cho các bộ sao chép với Trọng tài:

  • MongoDB 3.4.1

  • MongoDB 3.4.0

  • MongoDB 3.2.11 hoặc sớm hơn

Xem phiên bản giao thức đặt bản sao.

Cảnh báo

Để thêm trọng tài vào một bộ bản sao hiện có:

  • Thông thường, nếu có hai hoặc ít hơn các thành viên chịu dữ liệu trong bộ bản sao, trước tiên bạn có thể cần đặt mối quan tâm ghi rộng cụm cho bộ bản sao.

  • Xem mối quan tâm ghi rộng cụm để biết thêm thông tin về lý do tại sao bạn có thể cần đặt mối quan tâm viết rộng cụm.

Bạn không cần phải thay đổi mối quan tâm ghi rộng cụm trước khi bắt đầu một bộ bản sao mới với một trọng tài.

Mẹo

Xem thêm:

Dung sai lỗi cho một bộ bản sao là số lượng thành viên có thể không có sẵn và vẫn để lại đủ thành viên trong bộ để bầu chính. Nói cách khác, đó là sự khác biệt giữa số lượng thành viên trong tập hợp và majority của các thành viên bỏ phiếu cần thiết để bầu một chính. Không có chính, một bộ bản sao không thể chấp nhận các hoạt động ghi. Dung sai lỗi là một hiệu ứng của kích thước tập hợp bản sao, nhưng mối quan hệ không trực tiếp. Xem bảng sau:

Số thành viên

Đa số bắt buộc để bầu một chính mới

Khả năng chịu lỗi

3

2

1

4

3

1

5

3

2

6

4

2

Thêm một thành viên vào bộ bản sao không phải lúc nào cũng tăng khả năng chịu lỗi. Tuy nhiên, trong những trường hợp này, các thành viên bổ sung có thể cung cấp hỗ trợ cho các chức năng chuyên dụng, chẳng hạn như sao lưu hoặc báo cáo.

Bắt đầu từ phiên bản 4.2.1, rs.status[] trả về majorityVoteCount cho bộ bản sao.

Thêm các thành viên ẩn hoặc bị trì hoãn để hỗ trợ các chức năng chuyên dụng, chẳng hạn như sao lưu hoặc báo cáo.

Trong một triển khai với lưu lượng đọc rất cao, bạn có thể cải thiện thông lượng đọc bằng cách phân phối đọc cho các thành viên thứ cấp. Khi việc triển khai của bạn phát triển, thêm hoặc chuyển các thành viên để thay thế các trung tâm dữ liệu để cải thiện sự dư thừa và tính khả dụng.

Ghi chú

Phân phối bản sao đặt các thành viên trên hai trung tâm dữ liệu cung cấp lợi ích cho một trung tâm dữ liệu duy nhất. Trong phân phối hai trung tâm dữ liệu,

  • Nếu một trong các trung tâm dữ liệu đi xuống, dữ liệu vẫn có sẵn để đọc không giống như một phân phối trung tâm dữ liệu duy nhất.

  • Nếu trung tâm dữ liệu với thiểu số các thành viên đi xuống, bộ bản sao vẫn có thể phục vụ các hoạt động viết cũng như các hoạt động đọc.

  • Tuy nhiên, nếu trung tâm dữ liệu với phần lớn các thành viên đi xuống, bộ bản sao sẽ chỉ đọc được.

Nếu có thể, phân phối các thành viên trên ít nhất ba trung tâm dữ liệu. Đối với các bộ bản sao máy chủ config [CSR], thực tiễn tốt nhất là phân phối trên ba [hoặc nhiều hơn tùy thuộc vào số lượng thành viên]. Nếu chi phí của trung tâm dữ liệu thứ ba là bị cấm, một khả năng phân phối là phân phối đồng đều các thành viên mang dữ liệu trên hai trung tâm dữ liệu và lưu trữ thành viên còn lại trong đám mây nếu chính sách công ty của bạn cho phép.

Luôn đảm bảo rằng cơ sở chính có thể chọn một chính.

Các thành viên hiện tại của một bộ bản sao phải có dung lượng dự phòng để hỗ trợ thêm một thành viên mới. Luôn thêm thành viên mới trước khi nhu cầu hiện tại bão hòa công suất của tập hợp.

Để bảo vệ dữ liệu của bạn trong trường hợp lỗi trung tâm dữ liệu, hãy giữ ít nhất một thành viên trong một trung tâm dữ liệu thay thế. Nếu có thể, hãy sử dụng một số trung tâm dữ liệu lẻ và chọn phân phối các thành viên tối đa hóa khả năng ngay cả khi mất trung tâm dữ liệu, các thành viên đã đặt bản sao còn lại có thể tạo thành đa số hoặc tối thiểu, cung cấp một bản sao dữ liệu của bạn .

Ghi chú

Phân phối bản sao đặt các thành viên trên hai trung tâm dữ liệu cung cấp lợi ích cho một trung tâm dữ liệu duy nhất. Trong phân phối hai trung tâm dữ liệu,

  • Nếu một trong các trung tâm dữ liệu đi xuống, dữ liệu vẫn có sẵn để đọc không giống như một phân phối trung tâm dữ liệu duy nhất.

  • Nếu trung tâm dữ liệu với thiểu số các thành viên đi xuống, bộ bản sao vẫn có thể phục vụ các hoạt động viết cũng như các hoạt động đọc.

  • Tuy nhiên, nếu trung tâm dữ liệu với phần lớn các thành viên đi xuống, bộ bản sao sẽ chỉ đọc được.

Nếu có thể, phân phối các thành viên trên ít nhất ba trung tâm dữ liệu. Đối với các bộ bản sao máy chủ config [CSR], thực tiễn tốt nhất là phân phối trên ba [hoặc nhiều hơn tùy thuộc vào số lượng thành viên]. Nếu chi phí của trung tâm dữ liệu thứ ba là bị cấm, một khả năng phân phối là phân phối đồng đều các thành viên mang dữ liệu trên hai trung tâm dữ liệu và lưu trữ thành viên còn lại trong đám mây nếu chính sách công ty của bạn cho phép.

Để đảm bảo rằng các thành viên trong trung tâm dữ liệu chính của bạn được bầu chính trước các thành viên trong trung tâm dữ liệu thay thế, đặt members[n].priority của các thành viên trong trung tâm dữ liệu thay thế thấp hơn so với các thành viên trong trung tâm dữ liệu chính.

Để biết thêm thông tin, hãy xem các bộ bản sao được phân phối trên hai hoặc nhiều trung tâm dữ liệu

Sử dụng các bộ thẻ bản sao để các hoạt động đọc mục tiêu cho các thành viên cụ thể hoặc để tùy chỉnh mối quan tâm ghi để yêu cầu xác nhận từ các thành viên cụ thể.

Mẹo

MongoDB cho phép nhật ký theo mặc định. Nhật ký bảo vệ chống lại mất dữ liệu trong trường hợp gián đoạn dịch vụ, chẳng hạn như lỗi điện và khởi động lại bất ngờ.

Quan trọng

Để tránh các bản cập nhật cấu hình do thay đổi địa chỉ IP, hãy sử dụng tên máy chủ DNS thay vì địa chỉ IP. Điều đặc biệt quan trọng là sử dụng tên máy chủ DNS thay vì địa chỉ IP khi định cấu hình các thành viên đặt bản sao hoặc các thành viên cụm bị chia cắt.

Sử dụng tên máy chủ thay vì địa chỉ IP để định cấu hình các cụm trên đường chân trời mạng chia. Bắt đầu từ MongoDB 5.0, các nút chỉ được cấu hình với địa chỉ IP sẽ không xác thực khởi động và sẽ không bắt đầu.

Nếu ứng dụng của bạn kết nối với nhiều hơn một bộ bản sao, mỗi bộ phải có một tên riêng biệt. Một số trình điều khiển nhóm bản sao đặt kết nối bằng tên đặt bản sao.

Các tài liệu sau đây mô tả các mẫu triển khai tập hợp bản sao chung. Các mẫu khác là có thể và hiệu quả tùy thuộc vào yêu cầu của ứng dụng. Nếu cần, kết hợp các tính năng của từng kiến ​​trúc trong triển khai của riêng bạn:

Ba bộ bản sao bản sao thành viên Sets Set Set Membert cung cấp kiến ​​trúc được đề xuất tối thiểu cho một bộ bản sao. Bộ rèn phân phối trên hai hoặc nhiều bộ phân phối trung tâm dữ liệu bao gồm các thành viên ở nhiều vị trí để bảo vệ chống lại các lỗi dành riêng cho cơ sở, chẳng hạn như mất điện.

Bài Viết Liên Quan

Chủ Đề