Consul Gossip Protocol

Gossip Protocol

Consul使用gossip协议来管理成员资格并向群集广播消息。 所有这些都是通过使用Serf库提供的。 Serf使用的gossip协议基于“SWIM:可扩展的弱一致感染风格的流程组成员协议”,并进行了一些小的修改。 这里有关于Serf协议的更多细节。

 

Gossip in Consul(Consul中的Gossip)

Consul使用两个不同的 gossip池。我们将每个池分别称为LAN或WAN池。每个数据中心Consul都有一个LAN gossip池,包含数据中心的所有成员,包括客户端和服务器。 LAN池用于一些目的。成员资格信息允许客户端自动发现服务器,减少所需的配置量。分布式故障检测允许整个集群共享故障检测工作,而不是集中在少数服务器上。最后,gossip池允许为领导者选举等事件提供可靠和快速的事件广播。

WAN池是全球唯一的,因为无论数据中心如何,所有服务器都应该参与WAN池。 WAN池提供的成员资格信息允许服务器执行跨数据中心请求。集成故障检测允许Consul优雅地处理丢失连接的整个数据中心,或者只处理远程数据中心中的单个服务器。

所有这些功能都是通过利用Serf提供的。它用作嵌入式库以提供这些功能。从用户的角度来看,这并不重要,因为抽象应该由Consul掩盖。但是,作为开发人员,了解如何利用此库非常有用。
 

Lifeguard Enhancements(救生员增强功能)

SWIM假设本地节点是健康的,因为可以对数据包进行软实时处理。 但是,在本地节点遇到CPU或网络耗尽的情况下,可能会违反此假设。 结果是,serfHealth检查状态偶尔可以翻转,导致错误的监视警报,增加遥测噪声,并简单地导致整个集群浪费CPU和网络资源来诊断可能不存在的故障。

Lifeguard通过对SWIM的新颖增强完全解决了这个问题。

有关Lifeguard的更多详细信息,请参阅使用Lifeguard博客文章查看Making Gossip More Robust,该文章提供了HashiCorp Research救生员的高级概述:SWIM-ing with Situational Awareness。 Serf gossip协议指南还提供了有关gossip协议和Lifeguard的一些较低级别的详细信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值