分布式金融架构课
任杰
eBay 支付账务系统负责人,前蚂蚁金服架构师
19876 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 30 讲
开篇词 (1讲)
分布式金融架构课
15
15
1.0x
00:00/00:00
登录|注册

16 | 分布式一致性(下):怎么理解最简单的分布式一致性算法?

你好,我是任杰。这一讲我想和你聊一聊,怎么理解最简单的分布式一致性算法 Raft。
第 14 节课里,我们学习了在有容灾的分布式环境下的各种不同一致性情况,其中最重要的是线性一致性。线性一致性有非常多的好处,但是它的实现却非常困难。20 多年前,计算机科学家终于找到了一个算法,但是非常晦涩难懂。
直到 2014 年,才出现了一个通俗易懂的算法,它就是 Raft。从此以后,各种具有分布式一致性能力的数据系统便层出不穷,普通人也有能力和大型互联网公司一样,设计出一个在分布式环境下正确的系统。
既然 Raft 算法通俗易懂,实现细节我就不展开了,这节课我们重点来看看,Raft 算法究竟能做什么,以及它应该怎么使用。

分布式一致性能解决的问题

文件同步

能实现分布式一致性的算法也叫作共识(Consensus)算法。我们在前一节课说过,共识需要满足以下 3 个条件:
1. 终止性(termination)
2. 一致性(agreement)
3. 有效性(validity)
我们不是理论科学家,不需要去理解这些深奥的定义,而且就算我们理解了,也不一定能指导实际的开发工作。所以,我们需要的是一个更简单的结论。通俗一点来说,共识表示在多台机器之间,能同步一个内容不断增加的文件。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

分布式一致性算法Raft的核心概念和应用场景是本文的重点。文章首先介绍了共识算法的基本概念,指出共识算法可以用于文件同步、全序广播和线性化存储。在文件同步方面,共识算法能够确保多台机器之间同步一个内容不断增加的文件,保证大部分机器正常工作时,这些机器上的文件完全一样。全序广播和线性化存储则展示了共识算法在对文件内容顺序要求严格的场景下的应用,比如数据库的容灾备份和会计系统的账本。全序广播能确保所有机器记录的消息顺序完全一致,而线性化存储则能解决分布式锁的问题,实现分布式锁服务来实现分布式事务。接着,文章详细介绍了Raft算法的应用场景和技术特点,使读者能够快速了解分布式一致性算法的基本原理和应用。从客户端和服务端两个角度分别讨论了如何正确使用Raft算法,强调了主节点和从节点的概念,以及任期的重要性。此外,文章还提到了Raft算法的存储特点,即实现了线性化存储,维护一个自增不减的日志文件。总的来说,本文通过简洁易懂的方式介绍了Raft算法的核心概念和应用,为读者提供了全面的了解和使用指南。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《分布式金融架构课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(3)

  • 最新
  • 精选
  • tt
    我是这么想的。 协调者之所以是单点是因为各个节点如果单独保存自己的事务状态的话,其余节点无法知道对方的转态,比如a、b节点已经准备完毕可以提交的时候,无法知道对方的状态,只能借助集中的协调者来进行协调,以便同时提交或者同时回滚。 如果协调者采用主从结构的话,又面临信息同步的问题。 如果能保证各个节点是状态可以线性的保存到多个节点上,那么事务的提交就可以变为准备完毕、提交等消息的顺序写入,每个节点读取已经写入成功的消息就知道其余成员的状态,从而不需要协调者就实现了分布式的事务。
    2021-01-29
    1
  • 雪粮
    老师加油!争取年前更完,年后找工作,💪
    2021-01-29
    1
  • 三产
    单点其实就是主节点
    2021-02-01
收起评论
显示
设置
留言
3
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部