Số lượng thành viên bộ bản sao tối thiểu cần thiết để nhận được lợi ích của bộ bản sao là ba thành viên. Bộ bản sao ba thành viên có thể có ba thành viên mang dữ liệu [Chính-Phụ-Phụ] [Được khuyến nghị] hoặc nếu hoàn cảnh [chẳng hạn như chi phí] cấm thêm thành viên mang dữ liệu thứ ba, hai thành viên mang dữ liệu và trọng tài [Chính- . [1]
[1]Để biết những cân nhắc khi sử dụng trọng tài, hãy xem Bản sao Đặt trọng tàiChính với hai thành viên phụ [P-S-S]
Một bộ bản sao có ba thành viên lưu trữ dữ liệu có
một chính
Hai thành viên phụ. Cả hai ứng cử viên thứ hai đều có thể trở thành ứng viên chính trong một cuộc bầu cử
Những triển khai này luôn cung cấp hai bản sao hoàn chỉnh của tập dữ liệu bên cạnh bản chính. Các bộ bản sao này cung cấp khả năng chịu lỗi bổ sung và tính sẵn sàng cao. Nếu bản chính không khả dụng, bộ bản sao sẽ chọn một bản phụ làm bản chính và tiếp tục hoạt động bình thường. Nhóm chính cũ tham gia lại nhóm khi khả dụng
Tiểu học với Trung học và Trọng tài [PSA]
Ghi chú
Để biết những cân nhắc khi sử dụng trọng tài, hãy xem Bản sao Bộ trọng tài
Bộ bản sao ba thành viên với hai thành viên lưu trữ dữ liệu có
một chính
Một thành viên phụ. Thứ cấp có thể trở thành chính trong một cuộc bầu cử
một trọng tài. Trọng tài chỉ bỏ phiếu trong các cuộc bầu cử
Vì trọng tài không giữ bản sao dữ liệu nên những triển khai này chỉ cung cấp một bản sao dữ liệu hoàn chỉnh. Trọng tài yêu cầu ít tài nguyên hơn, nhưng phải trả giá bằng khả năng dự phòng và khả năng chịu lỗi hạn chế hơn
Tuy nhiên, việc triển khai có bộ chính, bộ phụ và bộ phân xử đảm bảo rằng bộ bản sao vẫn khả dụng nếu bộ chính hoặc bộ phụ không khả dụng. Nếu bản chính không khả dụng, bộ bản sao sẽ chọn bản phụ làm bản chính
Trong một số trường hợp [chẳng hạn như khi bạn có bản chính và bản phụ, nhưng hạn chế về chi phí không cho phép thêm bản phụ khác], bạn có thể chọn thêm người phân xử vào bộ bản sao của mình. Trọng tài viên tham gia
cuộc bầu cử sơ bộ nhưng trọng tài không có bản sao của bộ dữ liệu và không thể trở thành trọng tài chínhMột trọng tài có chính xác
Bầu cử1
. Theo mặc định, trọng tài có quyền ưu tiên mongod --setParameter allowMultipleArbiters=true
0Quan trọng
Không chạy trọng tài trên các hệ thống cũng lưu trữ các thành viên chính hoặc phụ của bộ bản sao
Để thêm người phân xử, hãy xem Thêm người phân xử vào Bộ bản sao
Cân nhắc phiên bản phát hành
Trọng tài không được hỗ trợ với các bản phát hành nhanh hàng quý. Nếu triển khai của bạn bao gồm trọng tài, chỉ sử dụng
LTS .Các vấn đề về hiệu suất với bộ bản sao PSA
Nếu bạn đang sử dụng cấu trúc trọng tài chính-phụ-trọng tài [PSA] gồm ba thành viên, hãy cân nhắc những điều sau
Mối quan tâm ghi
1 có thể gây ra các vấn đề về hiệu suất nếu phụ không khả dụng hoặc bị chậm. Để được tư vấn về cách giảm thiểu những sự cố này, hãy xem Giảm thiểu các vấn đề về hiệu suất với Bộ bản sao PSAmongod --setParameter allowMultipleArbiters=true
Nếu bạn đang sử dụng
1 mặc định chung và mối quan tâm ghi nhỏ hơn kích thước của đa số, các truy vấn của bạn có thể trả về dữ liệu cũ [không được sao chép đầy đủ]mongod --setParameter allowMultipleArbiters=true
Phiên bản giao thức đặt bản sao và Arbiter
Đối với các phiên bản MongoDB sau,
mongod --setParameter allowMultipleArbiters=true
3 tăng khả năng quay ngược của mongod --setParameter allowMultipleArbiters=true
4 so với mongod --setParameter allowMultipleArbiters=true
5 [không còn được hỗ trợ trong MongoDB 4. 0+] cho các bộ bản sao có trọng tàiMongoDB 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 Bộ Bản sao
Để biết thêm thông tin, hãy xem lệnh
mongod --setParameter allowMultipleArbiters=true
6Phiên bản tương thích tính năng
Trọng tài không sao chép bộ sưu tập
mongod --setParameter allowMultipleArbiters=true
0. Do đó, trọng tài luôn có Phiên bản tương thích tính năng bằng với phiên bản hạ cấp của tệp nhị phân, bất kể giá trị FCV của bộ bản saoMối quan tâm với nhiều trọng tài
Sử dụng một trọng tài duy nhất để tránh các vấn đề về tính nhất quán của dữ liệu. Nhiều trọng tài ngăn chặn việc sử dụng đáng tin cậy mối quan tâm ghi đa số
Để đảm bảo rằng thao tác ghi sẽ tiếp tục sau khi nút chính bị lỗi, mối quan tâm ghi đa số yêu cầu phần lớn các nút xác nhận thao tác ghi. Trọng tài không lưu trữ bất kỳ dữ liệu nào, nhưng chúng đóng góp vào số lượng nút trong bộ bản sao. Khi một bộ bản sao có nhiều trọng tài, ít có khả năng phần lớn các nút mang dữ liệu sẽ khả dụng sau khi lỗi nút
Cảnh báo
Nếu một nút phụ tụt lại phía sau nút chính và cụm là
mongod --setParameter allowMultipleArbiters=true
1, phiếu bầu từ nhiều trọng tài có thể chọn nút bị tụt lại phía sau. Cấu hình chính mới sẽ không có ghi không được sao chép mặc dù cấu hình cũ có thể đã thực hiện phần lớn thao tác ghi. Kết quả là mất dữ liệuĐể tránh trường hợp này, hãy sử dụng tối đa một trọng tài viên duy nhất
Mới trong phiên bản 5. 3
Bắt đầu từ MongoDB 5. 3, hỗ trợ cho nhiều trọng tài trong một bộ bản sao bị tắt theo mặc định. Nếu bạn cố gắng thêm nhiều trọng tài vào một bộ bản sao, máy chủ sẽ trả về lỗi
MongoServerError: Multiple arbiters are not allowed unless all nodeswere started with --setParameter 'allowMultipleArbiters=true'
Để thêm nhiều trọng tài vào bộ bản sao bằng MongoDB 5. 3 trở lên, hãy bắt đầu mỗi nút với tham số
mongod --setParameter allowMultipleArbiters=true
2 được đặt thành mongod --setParameter allowMultipleArbiters=true
3mongod --setParameter allowMultipleArbiters=true
Bảo vệ
xác thực
Khi chạy với
mongod --setParameter allowMultipleArbiters=true
4, trọng tài trao đổi thông tin đăng nhập với các thành viên khác của nhóm để xác thực. MongoDB mã hóa quy trình xác thực và trao đổi xác thực MongoDB được bảo mật bằng mật mãBởi vì các trọng tài không lưu trữ dữ liệu, nên chúng không sở hữu bảng nội bộ của ánh xạ vai trò và người dùng được sử dụng để xác thực. Do đó, cách duy nhất để đăng nhập vào một trọng tài với ủy quyền đang hoạt động là sử dụng ngoại lệ localhost
Liên lạc
Thông tin liên lạc duy nhất giữa trọng tài và các thành viên tập hợp khác là. phiếu bầu trong cuộc bầu cử, nhịp tim và dữ liệu cấu hình. Những trao đổi này không được mã hóa
Tuy nhiên, nếu triển khai MongoDB của bạn sử dụng TLS/SSL, MongoDB sẽ mã hóa tất cả giao tiếp giữa các thành viên của bộ bản sao. Xem Định cấu hình
mongod --setParameter allowMultipleArbiters=true
5 và mongod --setParameter allowMultipleArbiters=true
6 cho TLS/SSL để biết thêm thông tinNhư với tất cả các thành phần MongoDB, hãy chạy các trọng tài trong môi trường mạng đáng tin cậy
Thí dụ
Ví dụ: trong tập hợp bản sao sau với 2 thành viên mang dữ liệu [chính và phụ], trọng tài cho phép tập hợp có số phiếu bầu lẻ để hòa