Consul使用gossip协议管理成员关系、广播消息到整个集群。详情可参考Serf library,Serf使用到的gossip协议可以参阅"SWIM: Scalable Weakly-consistent Infection-styleProcess Group Membership Protocol",

本节主要讲解consul内部技术细节,使用consul不需要必须了解这些细节的。这些文章是为那些不愿意深入源代码但是希望技术细节的人准备的。

1.1 Gossip in Consul

Consul利用两个不同的gossip pool。我们分别把他们称为局域网池(LAN Pool)或广域网池(WAN Pool)。每个Consul数据中心都有一个包含所有成员(Server和Client)的LANgossip pool。LAN Pool有如下几个目的:首先,成员关系允许Client自动发现Server节点,减少所需的配置量。然后,分布式故障检测允许的故障检测的工作在某几个Server几点执行,而不是集中整个集群所有节点上。最后,gossip允许可靠和快速的事件广播,比如,Leader选举。

WAN Pool是全局唯一的,无论属于哪一个数据中心,所有Server应该加入到WAN Pool。由WAN Pool提供会员信息让Server可节电执行跨数据中心的请求。集成中故障检测允许Consul妥善处理整个数据中心失去连接,或在远程数据中心只是单个的Server节点。

所有这些功能都是通过利用Serf提供。从用户角度来看,它是作为一个嵌入式库提供这些功能。但其被Consul屏蔽,用户无需关心。作为开发人员可以去了解这个库是如何利用。

1.2 Lifguard增强

SWIM假设本地节点是健康的,是的软实时处理数据包称为可能。然而,当本地节点正CPU或网络耗尽时,该假设就称为了现实。结果是,serfhealth状态就会“抖动”——摆来摆去,造成虚假报警,增加噪声遥测,简单可预见的结果就是——导致集群浪费CPU和网络资源的来处理不存在的故障。

Lifeguard通过SWIM完美的解决了该问题,Serf's gossip protocolguide。

【Consul】Consul架构-Gossip协议相关推荐

  1. .NET Core + Ocelot + IdentityServer4 + Consul 基础架构实现

    .NET Core + Ocelot + IdentityServer4 + Consul 基础架构实现 原文:.NET Core + Ocelot + IdentityServer4 + Consu ...

  2. Dynamo涉及的算法和协议——p2p架构,一致性hash容错+gossip协议获取集群状态+向量时钟同步数据...

    转自:http://www.letiantian.me/2014-06-16-dynamo-algorithm-protocol/ Dynamo是Amazon的一个分布式的键值系统,P2P架构,没有主 ...

  3. Redis Cluster Gossip 协议详解

    Redis Cluster Gossip 协议 大家好,我是历小冰,今天来讲一下 Reids Cluster 的 Gossip 协议和集群操作,文章的思维导图如下所示. 集群模式和 Gossip 简介 ...

  4. 信息如何实现病毒式传播?一文看懂Gossip协议

    来源 | 架构之美 责编 | 寇雪芹 头图 | 下载于视觉中国 起源 Gossip protocol 也叫 Epidemic Protocol (流行病协议).Gossip protocol在1987 ...

  5. 一万字详解 Redis Cluster Gossip 协议

    大家好,我是历小冰,今天来讲一下 Reids Cluster 的 Gossip 协议和集群操作,文章的思维导图如下所示. 集群模式和 Gossip 简介 对于数据存储领域,当数据量或者请求流量大到一定 ...

  6. gossip协议与memberlist实现

    gossip协议 gossip协议是基于流行病传播传播方式的节点或者进程之间信息交换的协议.主要在分布式系统中使用gossip协议来达到数据的最终一致性,利用一种随机的方式将信息传播到整个网络中,并在 ...

  7. Gossip协议详解

    起源 Gossip protocol 也叫 Epidemic Protocol (流行病协议),是基于流行病传播方式的节点或者进程之间信息交换的协议..Gossip protocol在1987年8月由 ...

  8. 从新冠疫情出发,漫谈 Gossip 协议

    众所周知周知,疫情仍然在全球各地肆虐.据最新数据统计,截至北京时间 2020-05-28,全球累计确诊 5698703 例,累计死亡 352282 例,累计治愈 2415237 例. 从上面的统计数据 ...

  9. 关于Gossip协议的几个问题

    本文来说下Gossip 协议的几个问题 文章目录 概述 Gossip是什么 原理 图解 发送消息 可扩展性 失败容错 健壮性 本文小结 概述 Gossip是一种去中心化.容错并保证最终一致性的协议.它 ...

最新文章

  1. java初始化实例化_Java对象的创建过程:类的初始化与实例化
  2. 蓝桥杯 错误票据 (stringstream的使用)
  3. java 中文 音序,java 中文字符串数组按照音序排列
  4. c语言怎么打开已经保存的文件,保存打开文件之后,怎么也不能在显示函数中出来。。...
  5. java 枚举放那个包,java枚举,包装类,math使用
  6. Codeforces Round 212 Div 2 报告(以前没写完,现在也没心情补了,先就这样吧)
  7. 软件开发部分文档说明
  8. oracle winxsx 目录,Mac迅雷瘦身精简教程
  9. s40之演变v1~v3
  10. Binder机制原理简述
  11. iPhonexs文件连接服务器,iPhonexs黑屏了教你如何快速解决!
  12. c语言中感叹号什么意思_啥是c语言-c语言感叹号用法-c语言中的/和%表示什么意思...
  13. 计算机控制键有哪些,常用的电脑快捷键大全有哪些
  14. 翻转二叉树+检查二叉树是否镜像对称
  15. PTA 6 循环日程表
  16. 微信t服务器地址,微信地址怎么改?教你如何修改微信地址
  17. STM32的USART中RTS、CTS的作用和意义
  18. HTML+CSS实现告白信的效果
  19. 分区助手怎么用给c盘扩容
  20. 《沟通的方法》作者序读后感

热门文章

  1. 【转】真正从零开始,TensorFlow详细安装入门图文教程!(帮你完成那个最难的从0到1)...
  2. word 另存为xml后,读取xml的图片数据
  3. SHE PWM的simulink仿真谐波分析
  4. mfc CString 转 char *
  5. Caffe官方教程翻译(10):Editing model parameters
  6. 更有效的加载较大的Bitmap
  7. oracle fuser lk,oracle错误集锦
  8. python3占位符 中文_WxString:有没有使用Python 3-占位符实现字符串格式化的C/C++代码?...
  9. 主c++ 辅lua luabind protobuf
  10. Quartz 框架快速入门(三)