- 引文 -
咱们上文简单说了Gossip协议的原始方案,在真实场景有几百种变种,比较常见的Gossip 协议实现框架有:
java:https://github.com/scalecube/scalecube-cluster scalecube(伸缩立方)社区
go:https://github.com/hashicorp/memberlist hashicorp公司出品
memberlist 是HashiCorp公司出品的go语言开发库,使用基于Gossip协议管理集群成员和成员失败检测。咱们本文的主题就是memberlist。严格说起来,memberlist是基于Gossip协议变种实现的,它的指导论文是康奈尔大学计算机科学系Abhinandan Das, Indranil Gupta, Ashish Motivala在2002年发表的《SWIM:Scalable Weakly-consistent/Infection-styleProcess Group Membership Protocol》。
Membership协议中文名是 可伸缩最终一致性感染成员组协议。原理通过一个有效的点对点随机探测机制进行监控协议成员的故障检测、更新传播。Memberlist 构建在SWIM Membership之上,跟原始gossi