1

对等集 - 对等集是参与日志复制的所有成员的集合。对于 Consul 而言,所有服务器节点都位于本地数据中心的对等集中。

~ 引用来自官方文档

  1. 那么同行和成员之间有什么区别呢?
  2. 那为什么我们有以下两个 API?(一个就够了?)

      i. /status/peers  
     ii. /agent/members
    
  3. 能否介绍一下内部细节?

  4. 上述 API 的结果是否存在不一致的可能性?
4

1 回答 1

0

这是/agent/members/status/peers/的比较catalog/nodes

响应的可能差异是因为每个 API 端点都从不同的来源获取数据。

  1. /catalog/nodes: 任何代理收到的请求都会重定向到领导者,领导者提供来自目录的响应。
  2. /agent/members/: Agent 接收请求,返回从 gossip中获取的成员信息。这可能与catalog端点不同(从日志复制机制很明显(Consul 使用 Raft Prorocol))。
  3. /status/peers/:此 API 返回参与“日志复制”的节点。
    理想情况下,这应该与 相同/catalog/node。但是如果集群中存在分区,则有可能在集群恢复之前,所有成员都不会参与日志复制。在这种情况下/catalog/nodes//status/peers/可以给出不同的结果。

要正确理解这一点,您需要正确了解 raft 协议。参考

于 2017-06-30T09:11:38.387 回答