前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >简单介绍下consul底层的通信协议Gossip

简单介绍下consul底层的通信协议Gossip

作者头像
AsiaYe
发布2019-12-18 16:34:06
3K0
发布2019-12-18 16:34:06
举报
文章被收录于专栏:DBA随笔DBA随笔

简单介绍下consul底层的通信协议Gossip

明天早上还有个维护,今天需要早点休息,简单写写consul内部的通讯协议吧。

Consul是一个微服务发现的解决方案,它的主要特点是:服务发现、健康检查、键值存储、安全服务通信、多数据中心。关于consul的细节我们这里不多说,大家想了解的可以看看consul相关的博客,这里推荐几个:

https://www.cnblogs.com/cuishuai/p/8194345.html

http://www.liangxiansen.cn/2017/04/06/consul/

今天我们主要说说consul底层的通讯协议gossip协议,gossip协议也称之为流行病协议,它的信息传播行为类似流行病,或者森林的大火蔓延一样,一个接着一个,最终导致全局都收到某一个信息。

在gossip协议的网络中,有很多节点交叉分布,当其中的一个节点收到某条信息的时候,它会随机选择周围的几个节点去通知这个信息,收到信息的节点也会接着重复这个过程,直到网络中所有的节点都收到这条信息,才算信息同步完成。

从我们的描述中不难看出来,在某个时刻下,网络节点中的信息可能是不对称的,gossip协议不是一个强一致性的协议,而是最终一致性的协议,理解了这一层,我们去看consul的日志的时候,就能有一些端倪了,因为consul服务网络在运行的过程中,如果有新的服务注册进来,那么其他的节点会收到某个服务或者节点加入的信息。下面的图比较形象的展示了consul服务网络中节点通讯的方式:

Gossip协议的优点和缺点分别如下:

优点:

扩展性好,加入网络方便

容错性好,某个节点离开网络,不会影响整体的消息传播

去中心化,Gossip协议的网络中,不存在中心节点的概念,每个节点都可以成为消息的第一个传播者,只要网络可达,信息就能散播到全网。

一致性收敛:这种一传十、十传百的消息传递机制,能够保证消息快速收敛,并保证最终一致性。

缺点:

消息延迟:这个是由它的特性决定的,消息的扩散需要时间,这中间各个节点的消息是不一致的。

消息冗余:A节点告知B的信息,B可能会反过来告知A,这个时候A本身已经包含这个消息,却还要处理B的请求,这会造成消息的冗余,提高节点处理信息的压力。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DBA随笔 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档