开篇词 | 想成为分布式高手?那就先把协议和算法烂熟于心吧
开篇词 | 想成为分布式高手?那就先把协议和算法烂熟于心吧
讲述:于航
时长09:17大小7.44M
分布式算法是分布式技术中的核心
方法得当,知识并不难学
写在最后
赞 42
提建议
精选留言(49)
- 业余草2020-02-10分步试 ——> 分布式 一、分布式锁 数据库的唯一索引 Redis 的 SETNX 指令 Redis 的 RedLock 算法 Zookeeper 的有序节点 二、分布式事务 2PC 本地消息表 三、CAP 一致性 可用性 分区容忍性 权衡 四、BASE 基本可用 软状态 最终一致性 五、Paxos 执行过程 约束条件 六、Raft 单个 Candidate 的竞选 多个 Candidate 竞选 数据同步展开
作者回复: 加油!细节是魔鬼,一起吃透细节,彻底掌握。
51 - 约书亚2020-02-10所有编程的技术点里最喜欢的就是分布式系统一致性和可用性相关的部分。但个人感觉面架构师时分布式算法提到的不是非常多...我在挺长时间里积累了相当多的多分布式的问题: 我们也在用InfluxDB免费版,也为单机问题感到苦恼。企业版不是不开源么?您是怎样研究的呢? 看过某云的InfluxDB服务高可用版的架构图,应该就是基于raft实现一主两从的数据复制,这样会否对InfluxDB原本非常高的写吞吐量造成很大的影响? 不仅仅是etcd此类中间件,现在连要支持极高吞吐量的MQ中间件,有的都开始使基于raft算法了,到底raft经过改造后对整体吞吐量的拖累能降到多低?哪个实现的代码更典型更适合来学习呢? 一直想实现一个集群之间复制数据的功能,想基于gossip,但看到gossip很多都使用在集群成员管理上,不知道在多大流量的尺度上,使用gossip是合适的?erlang的OTP和支持分布式一致性的数据库,底层使用的是什么算法? 像eureka,redis sentinel等中间件的分布式算法,有没有什么理论依据?还是纯“瞎蒙”? 还有很多问题,希望随着此门课程的学习能得到答案。 最后,20节太短,如果老师还有个人博客/公众号/或者其他作品能让我持续学习就更好了。展开
作者回复: 有些问题,我会在后续内容中具体说说,比如如何研究闭源的InfluxDB企业版,Gossip协议的使用场景。有些问题,学习完相关内容后,你应该能独立分析,比如,Raft对集群性能的限制,eureka、redis的一致性实现。在内容中找不到答案的问题,或者学习完内容后,大家仍无法举一反三独立分析的典型问题,我会以加餐篇的形式,详细说说。20节,是浓缩、反复打磨的最核心内容,后续会以加餐篇的形式,加入更多的内容,日常工作中会用到的,比如分布式事务、架构设计、工程实践、性能优化等。 授人以鱼不如授人以渔,生有涯知无涯,只有掌握了最核心的“道”,才能以不变应万变,突破性的解决系统痛点和打造业界领先的产品。 我们一同努力,加油!相信你一定会学有所成。
共 4 条评论43 - 非洲黑猴子2021-10-10记得在一次面试中有被问到:“如何设计一个分布式文件系统,并实现高可用性和强一致性?”当时被问得哑口无言、毫无头绪,希望学完这套课程之后能有个清晰的思路。今天算是第一天打卡😂4
- Michael2020-05-12分布式算法和分布式事务之间有关系么?
作者回复: 加一颗星:),分布式算法是统称,实现分布式事务的算法,比如2pc,也属于分布式算法。
共 2 条评论4 - a d e2020-07-27不管是架构设计,还是区块链相关技术,分布式算法是逃不过的,不如早点面对,拿下!!!
作者回复: “架构”不能只是开源软件堆砌,要贴合场景,从最最本质的技术核心出发,直面和解决痛点。加油!有疑问多留言、讨论。
3 - 蓝魔丶2020-02-11不再被各种算法名词术语打败,知晓它们之间的联系与区别,举一反三,加深分布式算法的理解,了解适用场景和常见误区。同时在阅读开源项目的源码时能够很快掌握其中使用的算法技巧,加深理解和思考,希望自己有朝一日也能重复造轮子,还能造更好的轮子
作者回复: 加油!创造出业界领先的轮子:)
3 - kernel_distribution2020-02-23请问下老师, http://pages.cs.wisc.edu/~remzi/Classes/739/Fall2017/paxos.lecture.pdf 这个最后的Q2有什么问题么?
作者回复: 可能出现各节点的值不一致的情况。因为少数节点,可能只执行了Accept(n, value),也就是没有经过prepare阶段,如果此时,有小于n的提议者在之前得到大多数准备响应,现在在发起接受请求,尽管少数节点,已执行了Accept(n, value),因为没有设置minProposal,节点还是会重新接受这个低提案编号的提案,导致最终的值,被修改。
2 - Frank2020-02-11为了走的更远,分布式这块硬骨头得啃下来。希望借助作者分享的内容,自己能对分布式基本轮廓和重要的“公式定理”有一个准确清晰的理解。
作者回复: 加油!一定可以的。
2 - 忆水寒2020-02-10原来只是对概念、一些名称很熟悉,对算法内容看着明白,但是讲不出来、讲不清楚。希望学完这个专栏,我能全局讲清楚每个算法的原理和过程,借助这些知识用于优化我们产品的系统、甚至开发分布式组件(因为我们也是分布式架构)。
作者回复: 加油!我们一同努力,一定可以的。
2 - 一步2020-02-10理解分布式协议和算法,设计出更适合的出分布式系统
作者回复: 加油!你可以的。
2 - 成电帅才2021-03-02有时候感觉分布式一致性应该叫做分布式共识算法才比较合适,但是又不知道对不对1
- 竖人乙禾斗2020-11-23赞赞,赞赞!1
- InfoQ_8ae7d4823c562020-09-05老师可以出一些实战的分布式课程,对于很少接触分布式的人来说,理论的听了之后还是理解的不太深刻
作者回复: 加一颗星:),感谢反馈,这个也是我常常在思考的,也在尝试,比如,我在启动对标InfluxDB企业版的开源分布式时序数据库,其中的一个初心,就是想在这个系统中注入更多新技术,也希望更多同学能在代码中理解技术。
1 - Geek_Line2020-03-28还不要说架构师或者高级工程师,现在有些公司校招的岗位都对分布式有要求了,赶紧来学习学习!
作者回复: 加油!有问题,欢迎留言,咱们一起讨论:)。
共 2 条评论1 - Geek_Erdore2020-02-16老师您好,我想问下您课程中的分布式KV这个项目,KV存储是基于的开源存储系统吗
作者回复: 示例:)
1 - Daiver2020-02-13如果能将下fabric基于kafka排序共识的算法就更好了1
- 姑射仙人2020-02-11希望学习后能将老师的知识转化为自己的知识,并且能融入自己的理解。
作者回复: 加油!
1 - ATSS码农哥2022-11-07 来自美国希望能坚持学习 好好提升自己 加油!
- 小王2022-06-22学完了才发现是校友
- Geek_10c7022022-03-14深入理解分布式协议算法