Trong lãnh sự, bạn có thể có nhiều đại lý như máy chủ hoặc máy khách. Trong số tất cả các máy chủ, người ta được chọn làm người lãnh đạo. Từ quan điểm của đại lý, làm thế nào để nó biết đó là nhà lãnh đạo?Đại lý Lãnh sự biết nó là người lãnh đạo của một cụm sao như thế nào?
Trả lời
Một cách là bằng cách gọi cluster với http://<localhost_ip_address>:8500/v1/status/leader
này sẽ trở lại lãnh đạo hiện nay. Sau đó, chỉ cần kiểm tra địa chỉ IP được trả lại dựa vào địa chỉ IP cục bộ.
Lãnh đạo Lãnh sự được bầu thông qua việc triển khai Raft Protocol từ trong số các Nhóm đại biểu của các máy chủ lãnh sự. Chỉ các cá thể Consul được cấu hình như các máy chủ tham gia vào giao thức Raft Protocol. Bạn có thể bắt đầu Consul Agent (daemon) làm Client hoặc Server. Chỉ một Máy chủ mới có thể là người dẫn đầu của một Trung tâm dữ liệu.
Giao thức Raft được tạo ra bởi Diego Ongaro và John Ousterhout từ Đại học Stanford để đối phó với sự phức tạp của các giao thức đồng thuận hiện có chẳng hạn như Paxos. Raft chọn một nhà lãnh đạo thông qua việc sử dụng các bộ đếm thời gian ngẫu nhiên. Thuật toán được mô tả chi tiết trong Ongaro and Ousterhout's paper.
Các trường hợp lãnh sự được định cấu hình là Khách hàng liên lạc với cụm qua số Gossip Protocol dựa trên Serf. Giao tiếp serf cuối cùng là nhất quán. Cụm Serf không có máy chủ trung tâm, mỗi nút được coi là bằng nhau. Tất cả các nút (Máy khách và Máy chủ) trong việc tham gia giao tiếp Gossip/Serf truyền bá thông điệp đến các nước láng giềng của họ, từ đó lan truyền tin nhắn đến hàng xóm của họ cho đến khi thông điệp được truyền đến toàn bộ cụm. Sắp xếp giống như con đường lây nhiễm của một khải huyền zombie. Điều này được thực hiện để giảm đáng kể chi phí truyền thông trong cụm sao khi nó có quy mô đến hàng chục nghìn nút.
Khách hàng tiềm năng có thể chuyển tiếp thư tới bất kỳ Máy chủ Lãnh sự nào sau đó sẽ chuyển tiếp thư tới Người lãnh đạo. Consul Clients không cần quan tâm Consul Server nào là Leader. Chỉ các máy chủ cần phải quan tâm.
Consul HTTP API chạy trên bất kỳ Máy chủ Lãnh sự nào sẽ cho bạn biết Máy chủ nào là người dẫn đầu tại $ANY_CONSUL_SERVER/v1/status/leader
. Tuy nhiên, điều này không liên quan gì đến việc các Đại Lý Lãnh Sự làm bầu cử lãnh đạo như thế nào.
Tôi ghét phải tắt câu trả lời, nhưng 5 câu đầu tiên không liên quan gì đến câu hỏi, trong khi chỉ có câu thứ 6 chứa cùng câu trả lời như được cung cấp trước đây. –
Bạn hỏi làm thế nào một đại lý biết đó là người lãnh đạo của cụm. Các loại đại lý có tất cả mọi thứ để làm với thu hẹp những người có thể là nhà lãnh đạo. – jeremyjjbrown
- 1. Phong cách lãnh đạo của bạn trong CNTT là gì?
- 2. Thiếu nhà lãnh đạo trong Vim
- 3. Khi nào nhà lãnh đạo thay đổi kafka?
- 4. Hệ thống phân tán: Bầu cử lãnh đạo
- 5. là gì mục đích của một lãnh đạo "::" trong một C++ gọi phương thức
- 6. Các nhà lãnh đạo có văn bản có thể quấn
- 7. Làm thế nào để vô hiệu hóa thời gian chờ trên phím lãnh đạo vim?
- 8. Cuộc bầu cử lãnh đạo và thư viện java phát hiện chuyển đổi dự phòng
- 9. Truy vấn/lược đồ SQL hiệu quả cho Ban lãnh đạo
- 10. ACL không được kích hoạt trong lãnh sự
- 11. nút từ xa, các nhà lãnh đạo nhóm và bản in
- 12. Cuộc bầu chọn lãnh đạo sở thú mới tắt Spark Master
- 13. Apache Storm: Không thể tìm thấy nhà lãnh đạo nimbus từ máy chủ hạt giống
- 14. Sự khác nhau giữa dịch vụ Lãnh Địa chỉ nét và Dịch vụ Địa chỉ
- 15. Ứng dụng iPhone có giới hạn lãnh thổ
- 16. Phát hiện dịch vụ Lãnh sự Wildfly-Swarm - Địa chỉ dịch vụ không hợp lệ
- 17. Tôi có thể đọc các bản ghi SRV lãnh sự trong đơn xin đi của tôi bằng cách nào?
- 18. Luồng chương trình - bảo lãnh không hoạt động nếu một phép tính không thành công
- 19. Đại lý người dùng iPhone
- 20. Docker container với tình trạng "chết" sau khi lãnh healthcheck chạy
- 21. bảo lãnh mà các gia đình loại sẽ lấy được lớp nhất định
- 22. Perl biết một tệp là nhị phân như thế nào?
- 23. Đạo đức và nghi thức của việc giả mạo dự án github của người khác để giải phóng nó như một viên đá quý là gì?
- 24. Tên đại lý người dùng Google PageSpeed là gì?
- 25. là smartGWT thực sự chậm như giới thiệu của nó?
- 26. bởi event.target làm thế nào tôi biết rằng nó là hộp kiểm hoặc nó là radio?
- 27. trạng thái launchd 78 có nghĩa là gì? tại sao đại lý người dùng của tôi không chạy ??
- 28. Apache Shiro: Bạn quản lý người dùng như thế nào?
- 29. Trình xử lý sự kiện hoạt động như thế nào?
- 30. [cmdletbinding()] là gì và nó hoạt động như thế nào?
//, Đây là cách chương trình bên ngoài biết ai là người lãnh đạo hiện tại. Nhưng nó không nói như thế nào trường hợp của lãnh sự tự biết nó là nhà lãnh đạo hiện tại. –
@NathanBasanese Tôi không nghĩ AlexandreSantos quan tâm đến câu trả lời đúng là gì. – jeremyjjbrown