Trọng tài MongoDB là gì?

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ài

Chí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ử

Trọng tài MongoDB là gì?

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

Trọng tài MongoDB là gì?

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ử

Trọng tài MongoDB là gì?

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ính

Mộ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
0

Quan 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

    mongod --setParameter allowMultipleArbiters=true
    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 PSA

  • Nếu bạn đang sử dụng

    mongod --setParameter allowMultipleArbiters=true
    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 đủ)

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à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 Bộ Bản sao

Để biết thêm thông tin, hãy xem lệnh

mongod --setParameter allowMultipleArbiters=true
6

Phiê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 sao

Mố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
3

mongod --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 tin

Như 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

Mục đích chính của trọng tài là gì?

Một dạng trọng tài quan trọng được sử dụng trong các mạch không đồng bộ để chọn thứ tự truy cập vào tài nguyên được chia sẻ giữa các yêu cầu không đồng bộ. Chức năng của nó là ngăn không cho hai hoạt động xảy ra cùng một lúc khi chúng không nên xảy ra.

Nút tùy ý trong MongoDB là gì?

Blog này trình bày các hướng dẫn về cách thêm trọng tài vào bộ bản sao Mongodb hiện có. Trọng tài viên là Các phiên bản MongoDB có vai trò chính là tham gia vào cuộc bầu chọn bộ bản sao để phá vỡ mối quan hệ và chọn CHÍNH . Phiên bản này không chứa bất kỳ dữ liệu nào và có yêu cầu tài nguyên tối thiểu.

Thành viên ẩn trong MongoDB là gì?

Thành viên ẩn duy trì bản sao tập dữ liệu của thành viên chính nhưng ẩn đối với ứng dụng khách . Các thành viên ẩn phù hợp với khối lượng công việc với các kiểu sử dụng khác với các thành viên khác trong bộ bản sao. Thành viên ẩn phải luôn là thành viên ưu tiên 0 nên không thể trở thành chính.