欢迎光临散文网 会员登陆 & 注册

深入理解分布式共识算法

2023-07-18 23:34 作者:取个名字吧一个就好  | 我要投稿

链接:https://pan.baidu.com/s/1oPjdK2LpgeANviMKI35p0A?pwd=qk0f 

提取码:qk0f

《深入理解分布式共识算法》结合理论知识、算法模拟和源码解析,从多个维度详细剖析分布式共识算法的基本原理和应用实践,涵盖分布式共识算法的方方面面。同时《深入理解分布式共识算法》对共识算法开发中的重点和难点问题进行了重点讲解,并提供精心准备的练习题供读者巩固和提高所学的知识。另外,作者针对重点内容录制了教学视频,以帮助读者高效、直观地学习。

《深入理解分布式共识算法》共10章,分为4篇。第1篇分布式相关概念与定理,主要介绍集群、状态机和共识等相关概念,以及BASE和CAP理论等相关知识;第2篇常见分布式共识算法原理与实战,主要介绍二阶段提交(2PC)协议、三阶段提交(3PC)协议、Paxos、ZAB和Raft等相关知识;第3篇Paxos变种算法集合,主要介绍Paxos变种算法的发展历程,以及Fast Paxos和EPaxos等变种算法的相关知识;第4篇番外——FLP 定理,简要介绍FLP定理的相关知识。《深入理解分布式共识算法》按照“背景知识→运行过程→算法模拟→证明脉络”的过程层层推进,介绍算法知识,并为每种算法提供经典类库源码解析。

《深入理解分布式共识算法》内容丰富,讲解由浅入深,尤其适合刚开始接触分布式开发的人员全面学习共识算法,也适合资深架构人员借鉴设计思路,还适合中间件开发人员、系统运维工程师、相关培训学员和高校相关专业的学生阅读。


作者简介

释慧利 Java高级工程师,技术负责人。互联网金融行业从业多年,腾讯云开发者社区超人气作者,有丰富的中台和中间件项目开发经验。

前言/序言

前 言

  随着分布式技术的兴起,分布式共识算法逐渐被很多程序员所熟知。分布式共识算法不仅应用于区块链领域,还应用于后端开发中,常见的中间件开发也能看到它的身影。作为中间件使用人员,学习分布式共识算法可以进行中间件调优并快速定位问题。例如,当ZooKeeper的读性能不足时,可以适当地增加Observer成员;当ZooKeeper处理不了写请求时,可以先排除ZooKeeper是否正在进行Leader选举。因此,无论是中间件使用人员和开发人员,还是区块链开发人员,都有必要学习分布式共识算法。

  分布式共识算法的学习资料比较稀缺,大部分论文是由国外学者发表的,读者能找到的资料少之又少,这给学习相关知识带来了较大的困难。国内图书市场上虽然有几本介绍分布式算法的书籍,但是这些书基本上都只针对某个算法进行介绍。而在实际开发中,开发人员往往需要了解更多的分布式共识算法,知道它们的优缺点,只有这样才能设计出更加适合自己业务场景的系统架构。

  为了帮助开发人员全面、系统地学习和掌握分布式共识算法,笔者耗费两年多的时间编写本书,从理论知识到算法模拟,再到源码解析,多维度深入剖析分布式共识算法的基本原理和实际应用。

  本书源自笔者学习分布式共识算法时整理的学习笔记,意图为相关学习人员尤其是初学者给出一个学习分布式共识算法的路线图。本书介绍大部分常见的分布式共识算法,并对各种算法进行总结与对比,分析它们的优缺点,结合当前流行的一些经典类库和中间件的源码,逐步印证算法的实现过程。希望本书能为国内分布式开发和应用添砖加瓦,能为读者学习分布式共识算法提供一些帮助。

本书特色

  1.内容全面

  本书涵盖当前流行的绝大多数分布式共识算法,如Paxos、ZAB、Raft,以及Fast Paxos和EPaxos等变种算法,为读者提供一个完整和系统的学习路线图。另外,本书在介绍完每种算法后会将其和其他算法进行对比,并给出有针对性的习题供读者巩固和提高。

  2.讲解详细

  本书结合理论知识、算法模拟和源码解析,从多个维度详细剖析分布式共识算法的基本原理和应用实践,并绘制大量的原理图直观地展示每种算法运行和交互的过程,还对容易混淆的问题进行重点说明,帮助读者答疑解惑。

  3.由浅入深

  本书遵循由浅入深的原则,按照“背景知识→运行过程→算法模拟→证明脉络”的过程介绍相关算法,即便是刚接触分布式共识算法的初学者,也可以通过阅读本书对相关算法有一个完整和系统的认识。

  4.源码详解

  本书介绍每种算法时都会提供经典类库源码解析,从而加深读者对分布式共识算法的理解。读者对照源码进行学习,更加贴近实际开发,学习效果更好。

  5.视频讲解

  笔者对书中的重点和难点内容有针对性地录制了教学视频,以帮助读者更加高效、直观地进行学习。但需要注意的是,视频只是辅助手段,主要起引导作用,读者还是要把主要精力放在对图书内容的系统阅读上。

本书内容

  第1篇 分布式相关概念与定理

  本篇涵盖第1、2章,详细介绍分布式领域的各种定理,包括CAP和BASE定理等。本篇内容是分布式技术学习的指路明灯,可以帮助读者更好地理解算法的设计理念。

  第2篇 常见分布式共识算法原理与实战

  本篇涵盖第3~6章,首先从二阶段提交(2PC)协议和三阶段提交(3PC)协议开始讲起,然后引入Paxos、ZAB和Raft算法,最后对分布式事务(Seata)、状态机(PhxPaxos)和注册中心(ZooKeeper)进行详细介绍。本篇内容对相关人员的开发实践会有很大的帮助。

  第3篇 Paxos变种算法集合

  本篇涵盖第7~9章,对共识算法进行拓展,涵盖Paxos变种算法的主要发展历程,并着重对Fast Paxos和EPaxos算法进行详细介绍。Paxos变种算法的设计思路可以有效帮助开发人员针对自己的分布式场景进行优化。

  第4篇 番外——FLP定理

  本篇涵盖第10章,简要介绍FLP定理的相关内容。FLP定理是异步网络中的一座很难翻越的大山,它警示开发人员,在异步网络中不要试图设计出一个完全正确的共识算法。

读者对象

* 想全面学习分布式共识算法的人员;

* 基于分布式场景进行开发的人员;

* 中间件开发人员;

* 系统运维工程师;

* 相关培训学员;

* 高校相关专业的学生。

配套资料获取

  本书涉及的源码和配套教学视频需要读者自行下载。读者可以在清华大学出版社的网站(www.tup.com.cn)上搜索到本书页面,并在该页面找到“资源下载”栏目,然后单击“网络资源”按钮进行下载,也可以通过“售后支持”给出的微信公众号进行下载。

售后支持

  很惭愧,笔者的学问不深,能提供给读者的也只有一些学习笔记和心得体会。笔者的文笔可能不够优美,甚至书中可能还存在谬误,希望各位读者海涵,如果把阅读的注意放在笔者的语言疏漏上,就等同于“责明于垢鉴矣”。

  读者在阅读本书时如果发现错漏,或者有其他疑问,可以在笔者的微信公众号“并发笔记”的后台发私信或者留言,笔者将不定期进行确认和答复这些问题,并给出勘误表。笔者也希望能通过微信公众号这个小天地和读者朋友们一起学习与探讨分布式开发的相关话题。另外,本书还提供售后服务邮箱(bookservice2008@163.com),读者也可以通过该邮箱反馈书中存在的问题或者提出自己在学习时存在的疑问。


“并发笔记”微信公众号入口

致谢

  感谢所有在互联网上贡献研究成果的学者们!

  感谢所有参与本书审读和查漏补缺的前辈们!

  感谢为本书纠错和提供帮助的各位网友们!

  感谢为本书出版付出努力的马翠翠老师和欧振旭编辑!

  感谢清华大学出版社参与本书出版的所有人员,没有你们的精益求精,就没有本书的高质量出版!

  最后祝读者学习快乐!

  释慧利

深入理解分布式共识算法


查看全部↓


深入理解分布式共识算法的评论 (共 条)

分享到微博请遵守国家法律