Open xinrong2019 opened 5 years ago
Consul注册中心的核心功能是基于Gossip协议实现的,所以这个是重点,搞清楚是什么为什么,对于开发人员还是有必要的。啃完一个,对于其他使用Gossip协议的软件和类似的协议都能有一个更清晰的认识。
Consul通过gossip协议管理成员并向集群广播。Consul使用的gossip协议是Serf库支持的。对于开发人员,了解此库原理非常有用。
Serf使用的Gossip协议是基于"SWIM: Scalable Weakly-consistent Infection-style Process Group Membership Protocol",并进行了一些小修改。
Consul使用两个不同的Gossip pool。分别是WAN池和LAN池。
WAN池:全局唯一,包含所有数据中心的所有服务。
LAN池:每个数据中心都有一个LAN池,包含该数据中心的所有Client和Server。
背景/动机
Consul注册中心的核心功能是基于Gossip协议实现的,所以这个是重点,搞清楚是什么为什么,对于开发人员还是有必要的。啃完一个,对于其他使用Gossip协议的软件和类似的协议都能有一个更清晰的认识。
Consul中的Gossip协议
Consul通过gossip协议管理成员并向集群广播。Consul使用的gossip协议是Serf库支持的。对于开发人员,了解此库原理非常有用。
Serf使用的Gossip协议是基于"SWIM: Scalable Weakly-consistent Infection-style Process Group Membership Protocol",并进行了一些小修改。
Consul使用两个不同的Gossip pool。分别是WAN池和LAN池。
WAN池:全局唯一,包含所有数据中心的所有服务。
LAN池:每个数据中心都有一个LAN池,包含该数据中心的所有Client和Server。