同行与成员 - 领事
Peers vs Members - Consul
Peer set - The peer set is the set of all members participating in log replication. For Consul's purposes, all server nodes are in the peer set of the local datacenter.
~ 引用自官方文档
- 那么同行和会员有什么区别呢?
那为什么会有下面两个API呢? (一个够吗?)
i. /status/peers
ii. /agent/members
能否说明一下内部细节?
- 是否存在上述API结果不一致的可能性?
这里是 /agent/members/
、status/peers/
和 catalog/nodes
的比较。
可能的响应差异是因为每个 API 端点从不同来源获取数据。
/catalog/nodes
:任何代理收到的请求被重定向到leader,leader提供响应from catalog.
/agent/members/
:代理收到请求,return从八卦获得会员信息。这可能与 catalog
端点不同(从日志复制机制可以看出(Consul 使用 Raft Prorocol))。
/status/peers/
: 这个 API return 节点参与 'log replication'.
理想情况下,这应该与 /catalog/node
相同。但是如果集群中存在分区,则有可能在集群恢复之前,所有成员都没有参与日志复制。在这种情况下 /catalog/nodes/
和 /status/peers/
可以给出不同的结果。
要正确理解这一点,您需要正确了解 raft 协议。 Reference.
Peer set - The peer set is the set of all members participating in log replication. For Consul's purposes, all server nodes are in the peer set of the local datacenter.
~ 引用自官方文档
- 那么同行和会员有什么区别呢?
那为什么会有下面两个API呢? (一个够吗?)
i. /status/peers ii. /agent/members
能否说明一下内部细节?
- 是否存在上述API结果不一致的可能性?
这里是 /agent/members/
、status/peers/
和 catalog/nodes
的比较。
可能的响应差异是因为每个 API 端点从不同来源获取数据。
/catalog/nodes
:任何代理收到的请求被重定向到leader,leader提供响应from catalog./agent/members/
:代理收到请求,return从八卦获得会员信息。这可能与catalog
端点不同(从日志复制机制可以看出(Consul 使用 Raft Prorocol))。/status/peers/
: 这个 API return 节点参与 'log replication'.
理想情况下,这应该与/catalog/node
相同。但是如果集群中存在分区,则有可能在集群恢复之前,所有成员都没有参与日志复制。在这种情况下/catalog/nodes/
和/status/peers/
可以给出不同的结果。
要正确理解这一点,您需要正确了解 raft 协议。 Reference.