「分布式技术专题」基于Gossip协议的去中心服务

概述

Gossip 协议可以翻译为流言协议。它是在 1987 年发表在 ACM 上的论文 《Epidemic Algorithms for Replicated Database Maintenance》中被提出的。论文中给 Gossip 协议的定义是一个以流行病传播的方式为基础的计算机点对点通信程序或过程(a procedure or process of computer peer-to-peer communication that is based on the way epidemics spread)。主要是一些分布式系统用来确保对等节点之间的数据同步。基于 Gossip 协议去传递公共数据的方法就是依靠每个节点来将数据传递给其“邻居”,类似于生物中病毒的传播形式,所以 Gossip 协议有的时候也会被称为流行病协议(epidemic protocol)。

传播演示

我们去理解 Gossip 协议的传播时可以直观地理解为谣言的传播,一个谣言由某一个人发起后,谣言会不停地散步到每一个人的身边人,这个过程是一个异步的过程,可以用一个图来感受一下。

假设谣言由一个人发起,之后每一个人最多传播两个人,可以看到 16 个人最终在五个阶段内谣言传播完成。从图中可以看出 Gossip 协议的传播是有着异步的优点,而且最终所有节点都会接收到信息。不过也可以看出比较明显的缺点,一是没有办法确定一个准确的时间来保证所有节点都接收到了消息,二是从第四阶段、第五阶段可以看出消息传播过程中出现了消息冗余的情况,第五阶段尤为明显。

类型

•传播协议(Dissemination Protocols)或者又称为谣言散播协议(Rumor-mongering Protocols)。此类协议通常是利用 gossip 来传播信息,但在一个事务从发生到提交的过程中存在潜在的高延迟,但该缺点在对操作一些比较陈旧的数据时不会有太严重的损失。
计算聚合协议(Protocols that compute aggregates)。此类协议通过在网络中的节点处采样信息,并将这些值组合以得到一个系统范围的值(某些测量节点的最大值,最小值等等)来计算整个网络范围的集合。关键的要求是集合必须可以通过固定大小的成对信息交换来计算;这些通常在系统大小对数的若干轮信息交换之后终止,到那时,一个全对全的信息流模式将已经建立。

优势

有极强的扩展性。可以允许任意节点的添加或删除,并且新添加的节点状态可以和其他节点保持一致。
有比较好的容错。任何一个节点的宕机或重启都不会影响到 Gossip 消息的传播。
一致性收敛。Gossip 协议的消息是以指数级的速度进行传播的,系统的不一致性会在短时间内收敛一致。
去中心化。所有节点都是对等的,每个节点都不需要知道现在整个集群的状态,只要网络联通就能通过 gossip 把消息传播出去。

以上为基于Gossip协议的去中心服务,「分布式技术专题」是国产数据库hubble团队精心整编,专题会持续更新,欢迎大家保持关注。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值