加载中...

SWIM(Scalable Weakly-consistent Infection-style Process Group Membership)由 Das、Gupta 等人于 2002 年提出,解决大规模集群中"谁还活着"的成员管理问题,把故障检测与成员信息传播解耦,网络负载对节点数近似恒定。
每个周期节点随机 ping 一个成员,超时后请求 k 个节点代为间接 ping(区分节点故障与链路抖动);确认失败后将"疑似死亡"状态以 gossip 方式随更新捎带传播。改进版加入 suspicion 机制(先怀疑再定罪)与 Lifeguard 优化,显著降低误判。
HashiCorp 的 memberlist 库实现了带 Lifeguard 改进的 SWIM,支撑 Consul 与 Serf 的集群成员管理与故障检测;许多去中心化系统的节点发现也采用同类"感染式"传播设计。

登录 后参与讨论
暂无讨论,来发表第一条评论吧