最新要闻
- 日本国产大飞机研发失败:研发耗时十余年
- 当前视讯!大批《LOL》玩家逃离国服挤爆台服 拳头调查处理中
- 头条:为何突然爆红网络?小胖俞涛回应“九转大肠梗” 吃起来确实酸爽
- 【环球报资讯】天马认领:独家供应一加Ace 2 1.5K灵犀触控屏
- 通讯!0糖0脂0卡 三种口味 哪吒气泡水1.66元/瓶史底
- 世界今亮点!逆天!男子称在国美买家电两年没到货 花费超两万
- 全球热消息:影驰首次涉足游戏显示器:27寸2K屏、165Hz高刷
- 奔驰史诗级调整:19款车将停产!不挣钱的不要
- 世界热门:宁德时代两大杀手级新品电池正式来了:新能源汽车市场要变天?
- 14.9mm纤薄机身惊艳:联想小新Air 14 2023烟霞紫亮相
- 观热点:1099元起 真我推出V30/V30t新机:天玑700入门U
- 环球热点评!3月1日上线全国外卖服务?抖音回应:无具体时间表
- 《GTA5》母公司T2 CEO:ChatGPT等AI将提高游戏行业的标准
- 业界功率最高!一加27W冰点散热背夹发布 219元
- 蔚来:自家充电桩仅24%时间给蔚来充电 比亚迪、特斯拉用爽了
- 世界微资讯!ChatGPT幕后创始人拿微软100亿 是在下一步大棋
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
《分布式技术原理与算法解析》学习笔记Day04
分布式选举算法
为什么需要分布式选举?
分布式意味着我们的应用部署在一个集群中,集群包含多个节点或者服务器,对于一个集群来说,多个节点是怎么协同工作的呢?我们需要有一个主节点来负责对其他节点的协调和管理。
分布式选举是为了选出一个主节点,由它来协调和管理其他节点,以保证集群有序运行和节点间数据的一致性。
(资料图片仅供参考)
常见的分布式选举算法有哪些?
分布式选举算法一般会分为两类:
- 基于序号选举的算法(例如Bully算法)
- 多数派算法(Raft,ZAB等)
Bully算法
Bully算法中,节点的角色有两种:普通节点和主节点。初始化时,所有节点都是平等的,都是普通节点,并且都有成为主节点的权利,但是当选主结束后,有且仅有一个节点成为主节点,其他所有节点变为普通节点。
Bully算法在选举的过程中,需要使用3种消息:
- Election消息,用于发起选举。
- Alive消息,对Election消息的应答。
- Victory消息,竞选成功的主节点向其他节点发送的宣誓主权的消息。
Bully算法选举的原则是“长者为大”,它假设集群中的每个节点都知道其他节点的ID。整个选举过程如下:
- 集群中每个节点判断自己的ID是否为当前活着的节点中ID最大的,如果是,则直接向其他节点发送Victory消息,宣示自己的主权。
- 如果自己不是当前活着的节点中ID最大的,则向比自己ID大的所有节点发送Election消息,并等待其他节点的回复。
- 若在给定的时间范围内,本节点没有收到其他节点回复的Alive消息,则认为自己成为主节点,并向其他节点发送Victory消息,宣誓自己成为主节点,若接收到来自比自己ID大的节点的Alive消息,则等待其他节点发送Victory消息。
- 若本节点收到比自己ID小的节点发送的Election消息,则回复一个Alive消息,告知其他节点,我比你大,重新选举。
Bully算法的优点是选举速度快、算法复杂度低、简单易实现。它的缺点在于需要每个节点都保存全局的节点信息,因此额外信息存储比较多,其次,任意一个比当前主节点ID大的新节点或者节点故障后回复加入集群的时候,都会触发重新选举,成为新的主节点,如果该节点频繁退出、加入集群,就会导致频繁切主。
Raft算法
Raft算法是典型的多数派投票选举算法,它的核心思想是“少数服从多数”。
在Raft算中,集群节点的角色有3种:
- Leader,主节点,同一时刻只有一个Leader
- Candidate,候选者,每一个节点都可以成为Candidate,节点在该角色下才可能被选为新的Leader
- Follower,跟随者,不可以发起选举。
Raft选举的流程如下:
- 初始化时,所有节点都是Follower状态。
- 开始选主时,所有节点的状态由Follower转化为Candidate,并向其他节点发送选举请求。
- 其他节点根据收到的选举请求的先后顺序,回复是否同意成为主,在每一轮选举中,一个节点只能投出一张票。
- 如果发起选举请求的节点获得超过一半的投票,则成为主节点,其状态转化为Leader,其他节点的状态则由Candidate变为Follower。
- Leader节点和Follower节点之间会定期发送心跳包,来检测主节点是否正常。
- 当Leader节点的任期到了,即发现其他服务器开始下一轮选主周期时,Leader节点的状态也会由Leader降级为Follower,进入新一轮选主。
Raft算法的优点是选举速度快、算法复杂度低、易于实现。它的缺点是要求系统内每个节点都可以相互通信,其需要获得过半的投票数才能选主成功,因此通信量大。
Kubernetes的选主采用开源组件etcd,etcd的集群管理器etcds,是一个高可用、强一致性的服务发现存储仓库,就是采用了Raft算法实现选主和一致性的。
http://thesecretlivesofdata.com/raft/#election对Raft算法做了很好的动画演示,可以很好的帮助我们理解Raft算法的选举过程。
ZAB算法
ZAB选举算法是为ZooKeeper实现分布式协调功能而设计的,和Raft算法相比,ZAB算法增加了通过节点ID和数据ID作为参考进行选主,节点ID和数据ID越大,标识数据越新,优先成为主节点。
ZAB选举算法的核心是“少数服从多数,ID大的节点优先成为主节点”。
ZAB算法中,集群里的每个节点拥有三种角色:
- Leader,主节点
- Follower,跟随者节点
- Observer,观察者,无投票权
选举过程中,集群中的节点拥有4个状态:
- Looking状态,选举状态,当节点处于该状态时,它会认为当前集群中没有Leader,会进入选举状态。
- Leading状态,领导者状态,表示已经选择出主节点,且当前节点为Leader。
- Following状态,跟随者状态,集群中已经选出主节点后,其他非主节点的状态变更为Following。
- Observing状态,观察者状态,表示当前节点为Observer,持观望态度,没有投票权和选举权。
投票过程中,每个节点都有一个唯一的三元组(service_id, service_zxID, epoch):
- servier_id:该节点唯一ID
- service_zxID:该节点存放的数据ID,数据ID越大,表示数据越新,选举权重越大
- epoch:当前选举论数,一般用逻辑时钟表示。
选举的原则:server_zxID最大者成为Leader,如果server_zxID相同,则service_id最大者成为Leader。
ZAB算法性能高,对系统无特殊要求,采用广播方式发送信息,若集群中有n个节点,每个节点同事广播,则集群中的信息量为n*(n-1)个消息,容易出现广播风暴,而且消息中增加了节点ID和数据ID,意味着需要知道所有节点的ID和数据ID,所以选举时间相对较长。但是该算法稳定性比较好,当有新节点加入或者节点故障恢复后,会触发选主,但不一定会真正切主,除非新节点或者故障恢复后的节点数据ID和节点ID最大,且获得投票数过半,才会切主。
ZAB算法适合大规模分布式场景,例如ZooKeeper。
关于Bully算法、Raft算法和ZAB算法,有一个比较形象的比喻:
- Bully算法:类似于选武林盟主,谁武功最高,谁来当
- Raft算法:类似于选总统,谁票数最高,谁来当
- ZAB算法:类似于选优秀班干部,是班干部且票多才可以
更加详细的比较信息如下表所示。
关键词: 少数服从多数
-
【独家】ASP.NET Core+Element+SQL Server开发校园图书管理系统(四)
随着技术的进步,跨平台开发已经成为了标配,在此大背景下,ASP NETCore也应运而生。本文主要基于ASP ...
来源: -
快消息!E. Monsters (hard version)
E Monsters(hardversion)Thisisthehardversionoftheproblem Inthisversion,youneedtofin
来源: 《分布式技术原理与算法解析》学习笔记Day04
【独家】ASP.NET Core+Element+SQL Server开发校园图书管理系统(四)
快消息!E. Monsters (hard version)
日本国产大飞机研发失败:研发耗时十余年
当前视讯!大批《LOL》玩家逃离国服挤爆台服 拳头调查处理中
Blazor封装一个显示Markdown的组件
高层次综合器Vivado HLS的概念与特点[原创www.cnblogs.com/helesheng]
头条:为何突然爆红网络?小胖俞涛回应“九转大肠梗” 吃起来确实酸爽
【环球报资讯】天马认领:独家供应一加Ace 2 1.5K灵犀触控屏
世界报道:HashMap源码分析 (基于JDK1.8)
cmd的一些命令
焦点速看:Python教程:高级特性
天天快看点丨vue3 | slots
通讯!0糖0脂0卡 三种口味 哪吒气泡水1.66元/瓶史底
世界今亮点!逆天!男子称在国美买家电两年没到货 花费超两万
全球热消息:影驰首次涉足游戏显示器:27寸2K屏、165Hz高刷
奔驰史诗级调整:19款车将停产!不挣钱的不要
世界热门:宁德时代两大杀手级新品电池正式来了:新能源汽车市场要变天?
VGA、TFT显示模块——verilog实现
天天看热讯:智能运维|AIRIOT智慧光伏管理解决方案
定时任务
14.9mm纤薄机身惊艳:联想小新Air 14 2023烟霞紫亮相
观热点:1099元起 真我推出V30/V30t新机:天玑700入门U
环球热点评!3月1日上线全国外卖服务?抖音回应:无具体时间表
《GTA5》母公司T2 CEO:ChatGPT等AI将提高游戏行业的标准
记录--实时音视频功能简析(live-pusher与live-player)
当前资讯!全景剖析阿里云容器网络数据链路(三):Terway ENIIP
全球看点:Amazon RDS 教程_编程入门自学教程_菜鸟教程-免费教程分享
整合MQTT
当前简讯:京东一面:MySQL 中的 distinct 和 group by 哪个效率更高?问倒一大遍。。
业界功率最高!一加27W冰点散热背夹发布 219元
蔚来:自家充电桩仅24%时间给蔚来充电 比亚迪、特斯拉用爽了
世界微资讯!ChatGPT幕后创始人拿微软100亿 是在下一步大棋
【热闻】你出国耍吗?多条国际航班机票降至千元 泰国往返国内不到2000元
焦点观察:日产扛把子!新款轩逸/轩逸e-POWER官图发布:能救市吗?
3.SpringSecurity+登录功能+jwt校验过滤器+redis配置
当前消息!K8S的基础概念
今亮点!elementui中el-table表头动态筛选条件未及时更新问题解决
世界新消息丨C#高级编程2
RocketMQ Streams拓扑构建与数据处理过程
全球动态:一加Ace 2全球首发1.5K灵犀触控屏:120Hz刷新率、1450nit高亮度
每日消息!知名玩家爆料魔兽国服已签新代理:暴雪相中上海一公司
全球热点!土耳其再发生5.2级地震:中国卫星传回土耳其地震震中图像
全麦+黑麦:舌里0脂肪全麦面包14.9元2斤40片大促
国产版ChatGPT!百度版已成功注册ERNIE商标:最快3月开放
强大的word插件:不坑盒子下载安装使用图文讲解
ChatGPT横空出世,虽然会改BUG,但程序员也不用慌
天天简讯:强大的word插件,让工作更高效:不坑盒子 2023版
pandas 用户数据分析2
车顶维权女车主:重启战斗模式 希望今年能明确特斯拉案件结果
小米首款二合一笔记本!小米笔记本12.4图赏
每日速看!陪伴十年被撞报废!男子躲过一劫磕头跪别爱车 网友:它值得
环球视点!一加Ace 2普及16GB超大内存:44个应用保活
世界观点:首批入手三星Galaxy S23用户开机后大跌眼镜:系统吃掉60GB存储空间
【天天速看料】【算法训练营day41】LeetCode343. 整数拆分 LeetCode96. 不同的二叉搜索树
今日观点!亚马逊商城入门教程_编程入门自学教程_菜鸟教程-免费教程分享
天天快资讯:计算机视觉——SSD和YOLO简介
焦点热议:CTF之WEB学习路线规划
当前焦点!第一个编译器
上海网红“安福路小公主”接代言引热议:网友感叹辣眼睛的大妈无敌了
全球播报:13代CPU+40系GPU 笔记本和台式机区别有多大?
微头条丨100%纯棉 班尼路短袖99元4件包邮:13色可选
今日热文:ChatGPT概念全球爆火!我国人工智能相关企业超百万家
没法出二手“回血”了!索尼称PS VR2初期将仅推出数字版游戏
视讯!火山引擎ByteHouse助力中国地震台网中心,快速构建一站式实时数仓
实战分享 | 金融数据采集报送平台实践
观天下!我是如何用CAP和BASE两个基础理论卷死其他组员的?
环球信息:【踩坑记录】@Transactional注解回滚不生效问题
世界微资讯!开心档-软件开发入门之MongoDB 覆盖索引查询
世界动态:89%美国大学生用写作业!揭秘爆红ChatGPT之父:应对核末日狂囤黄金、中学就出柜
当前快报:2023年首次更新!微信Mac版3.7.0发布:终于支持图片文字提取
世界观察:Github、Gitee优秀的开源项目
【ChatGPT 注册】
【天天聚看点】ChatGPT让苹果急了!消息称苹果将于下周召开内部AI峰会
环球快资讯丨299元!小米对讲机2S发布:市区5公里通话 100个对讲频道
热议:4个小号给大号浇水 缴电费再退骗蚂蚁森林能量被封号!法院判了
人工智能立大功!AI筛查阿尔茨海默病准确率达75%
每日视点!19999元!尼康发布尼克尔Z 85mm f/1.2 S镜头:模特发丝根根可数
观天下!从这些爆款小游戏中,你看到了什么?
Docker容器使用 (入门到精通)
HGAME_2023_WEB_WP_WEEK3
2799限量抢!小米Civi 2潮流版预售 网友:我一男生都表示太好看
世界报道:豆瓣仅5.7分 漫威超英大片《黑豹2》国内首映 开场票房就被《流浪地球2》超越
每日速递:男子花两千元套圈 套中两台宏光汽车:本人回应只要一辆 做人留一线
国产纯电两门跑车!哪吒E实车亮相:动力暴躁
焦点!百度类ChatGPT产品“文心一言”公开:股价应声上涨13%
诺基亚800c手机上市价格是多少?诺基亚800c手机参数
breeno指令是干什么用的?breeno指令在哪里?
戴尔笔记本电脑换电池大概多少钱?戴尔笔记本电脑开机黑屏没反应怎么办?
格力空调型号在哪里查看?格力空调型号一览表匹数
美的冰箱质量怎么样?美的冰箱怎么调温度?
天天视讯!Redis的十六种应用场景
全球短讯!一款备受欢迎的用户脚本管理器插件TampermonKey-油猴脚本管理器安装与使用
越狱最后各人物的结局是什么?电视剧越狱演员表
曾志伟的身高是什么?曾志伟个人资料
12月是什么星座?描写12月你好的优美说说
取关是什么意思?取关抖音好友对方知道吗?
期中考试家长意见怎么写?期中考试后的感想作文模板
热点评!19岁中国小伙确诊老年痴呆 全球纪录又被刷新了
全球看点:土耳其大地震 多家中国上市公司称影响有限