技术分享 | etcd 与 Consul 的一致性读对比


外向笑小鸭子
外向笑小鸭子 2024-01-02 10:30:45 48090
分类专栏: 资讯

etcd[1] 和 Consul[2] 是现在比较流行的分布式一致性 KV 存储,本文就来分享和对比一下这两个存储的一致性读的实现。

1Consul 一致性读的实现

Consul 有三种读模式:

  1. default
  2. consistent
  3. stale

其中 stale 是非一致性的读模式,而 default 和 consistent 是一致性的。

consistent 和 default 的区别在于 consistent 在读之前还会向各个节点确认自己是否还是 Leader,以防止在读之前的一瞬间变为 Follower,导致读取到旧值。

接下来我们看看具体实现的代码:

etcd[1] 和 Consul[2] 是现在比较流行的分布式一致性 KV 存储,本文就来分享和对比一下这两个存储的一致性读的实现。

1Consul 一致性读的实现

Consul 有三种读模式:

  1. default
  2. consistent
  3. stale

其中 stale 是非一致性的读模式,而 default 和 consistent 是一致性的。

consistent 和 default 的区别在于 consistent 在读之前还会向各个节点确认自己是否还是 Leader,以防止在读之前的一瞬间变为 Follower,导致读取到旧值。

接下来我们看看具体实现的代码:

小结

从这几段逻辑可以看出,Consul 的一致性读是通过转发读请求给 Leader 来实现的。

2etcd 一致性读的实现

etcd 的读分为串行读(Serialize)和线性读(Linearizable)两种模式。其中线性读是一致性的读模式。

同样的我们来看下一致性读的实现:

 

而 linearizableReadNotify 中也只是简单的给 s.readwaitc 发信号然后等待结果。

这个信号将会在 linearizableReadLoop 方法中处理。

可以看到 linearizableReadLoop 方法中通过 requestCurrentIndex 方法获得了一个叫做 confirmedIndex 的 index

requestCurrentIndex 会向 Leader 节点发送 MsgReadIndex 消息,以获取 Leader 节点当前提交的最新的 index。然后再用本地的 appliedIndex 和 confirmedIndex 进行对比,如果本地已应用的 index 小于 confirmedIndex 则进行等待,直到追上 confirmedIndex 才会调用 nr.notify 发送通知信号解除 linearizableReadNotify 的等待进行后续的串行读操作。

也就是说 etcd 在做一致性读时,会先从 Leader 节点获取 Leader 节点当前最新的 commited index,然后和本地的 applied index 进行对比,等到本地应用的日志追上 Leader 时,才进行后续的串行读操作。

3总结

从实现上来说 Consul 的一致性读的实现更加简单直接,但是可能会对 Leader 节点的性能造成一些影响。

而相对来说 etcd 的实现更加复杂但是讨巧,也充分利用到了每个节点的资源。

参考资料

[1]

etcd: https://etcd.io/

[2]

Cousul: https://www.consul.io/

 

 

本文关键字:#ectd# #Consul# #源码#

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接: http://www.xckfsq.com/news/show.html?id=34090
赞同 0
评论 0 条
外向笑小鸭子
外向笑小鸭子L0
粉丝 0 发表 622 + 关注 私信
上周热门
WPS City Talk · 校招西安站来了!  1453
2024海洋能源产业融合发展论坛暨博览会同期活动-海洋能源与数字化智能化论坛成功举办  1264
海康威视2025校招|海康机器人,邀你共创工业智能化未来!  1257
阿B秋招线下宣讲行程来啦,速速报名!  1238
华为全联接大会2024丨软通动力分论坛精彩议程抢先看!  1230
有在找工作的IT人吗?  1187
麒麟天御安全域管平台升级!为企业管理保驾护航  1138
看到某国的寻呼机炸了,就问你用某水果手机发抖不?  1126
金山办公2024算法挑战赛 | 报名截止日期更新  1097
活动报名中!《聚焦数字经济发展——新形势、新趋势、新阶段》  1081
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
如何玩转信创开放社区—从小白进阶到专家 15
信创开放社区邀请他人注册的具体步骤如下 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
信创再发力!中央国家机关台式计算机、便携式计算机批量集中采购配置标准的通知 8
热门标签 更多
  • 运维
  • 银河麒麟
  • 安全
  • 国产数据库
  • 信创知识
  • 信创硬件
  • 后端
  • Windows
  • 鸿蒙
  • 信创外设
  • AI(人工智能)
  • 统信UOS
  • 国产办公软件
  • 国产操作系统
  • 中间件
  • 前端
  • 校园招聘
  • 国产设计软件
  • 软件正版化
  • 关于社区
  • 使用帮助
  • 招贤纳士

加入交流群

请使用微信扫一扫!

玻璃钢生产厂家浙江商场美陈厂家直销广州关公财神玻璃钢雕塑威海玻璃钢雕塑多少钱广州玻璃钢透光雕塑广州仿铜玻璃钢雕塑制作商场 美陈 制作南京户外玻璃钢雕塑哪家便宜欧式玻璃钢人物雕塑图片晋城玻璃钢浮雕镂空雕塑厂家四川玻璃钢青蛙雕塑江苏公园玻璃钢雕塑图片开封动物玻璃钢雕塑美陈玻璃钢卡通雕塑设计厂家小品玻璃钢雕塑直销价格营口玻璃钢动物雕塑河南玻璃钢花盆有哪些宁波玻璃钢雕塑图片玻璃钢手雕塑图片大全兰州玻璃钢 雕塑制作那曲玻璃钢雕塑静安区玻璃钢雕塑优选企业沈阳商场玻璃钢雕塑周口价值观玻璃钢仿铜雕塑公司商场美陈主题有哪些四川通道商场美陈价钱石家庄大型玻璃钢雕塑工厂广东室内商场美陈制作云南景区玻璃钢雕塑定做价格西藏玻璃钢卡通雕塑设计四川玻璃钢果蔬雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化