暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

原创 天云数据 2021-02-25
1161

概述

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)。此类协议通过在网络中的节点处采样信息,并将这些值组合以得到一个系统范围的值(某些测量节点的最大值,最小值等等)来计算整个网络范围的集合。关键的要求是集合必须可以通过固定大小的成对信息交换来计算;这些通常在系统大小对数的若干轮信息交换之后终止,到那时,一个全对全的信息流模式将已经建立。

优势

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

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

最后修改时间:2021-04-01 17:01:12
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论