Từ ZooKeeper FAQ:Zookeeper độ tin cậy - ba so với năm nút
Reliability:
A single ZooKeeper server (standalone) is essentially a coordinator with
no reliability (a single serving node failure brings down the ZK service).
A 3 server ensemble (you need to jump to 3 and not 2 because ZK works
based on simple majority voting) allows for a single server to fail and
the service will still be available.
So if you want reliability go with at least 3. We typically recommend
having 5 servers in "online" production serving environments. This allows
you to take 1 server out of service (say planned maintenance) and still
be able to sustain an unexpected outage of one of the remaining servers
w/o interruption of the service.
Với một quần thể 3-server, nếu một máy chủ được đưa ra khỏi vòng quay và một máy chủ có một cúp đột xuất, sau đó vẫn là một trong còn lại máy chủ nên đảm bảo không bị gián đoạn dịch vụ. Vậy tại sao cần 5 máy chủ? Hay nó chỉ là sự gián đoạn dịch vụ đang được xem xét?
Cập nhật:
Nhờ @sbridges để chỉ ra rằng nó đã làm với việc duy trì một đại biểu. Và cách mà ZK xác định số đại biểu là ceil(N/2)
trong đó N
là số gốc trong bộ quần áo (và không chỉ là tập hợp hiện có).
Bây giờ, một tìm kiếm google cho ZK đại biểu phát hiện này trong cuốn sách HBase chapter on ZK:
Trong Zookeeper, một số chẵn các đồng nghiệp được hỗ trợ, nhưng nó là bình thường không được sử dụng vì một quần thể thậm chí có kích thước đòi hỏi , tương ứng, nhiều hơn đồng nghiệp để tạo thành một nhóm túc số hơn một bộ quần áo có kích thước lẻ yêu cầu. Đối với ví dụ , một bộ quần áo với 4 đồng nghiệp yêu cầu 3 để tạo thành nhóm túc số, trong khi một bộ quần áo với 5 cũng yêu cầu 3 để tạo thành nhóm túc số. Do đó, một bộ quần thể của 5 cho phép 2 đồng nghiệp thất bại và vẫn duy trì số đại biểu, và do đó có nhiều hơn khả năng chịu lỗi so với toàn bộ 4, cho phép chỉ có 1 người ngang hàng.
Và diễn giải này của Wikipedia trong Edward J. Yoon của blog:
Thông thường, đây là một phần lớn của người dân dự kiến sẽ có mặt ở đó, mặc dù nhiều cơ quan có thể có một số đại biểu cần thấp hơn hoặc cao hơn.
Ví dụ về "bảo trì theo kế hoạch" là gì? – user1870400