2014-12-31 12 views

Trả lời

8

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ộ.

+1

//, Đâ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. –

+0

@NathanBasanese Tôi không nghĩ AlexandreSantos quan tâm đến câu trả lời đúng là gì. – jeremyjjbrown

11

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.

+0

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. –

+3

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

Các vấn đề liên quan