美文网首页
《分布式一致性算法》你都会哪些?

《分布式一致性算法》你都会哪些?

作者: Java架构大仙 | 来源:发表于2021-03-27 20:26 被阅读0次

    《分布式一致性算法》是一本关于Java相关的电子书资源,介绍了关于日志、NIO和Netty、共识算法,本书是由北京大学出版社
    出版,实体书,0.69kg;赵辰编写,京东综合评分为:9.8分,一起来看下具体内容。


    image.png

    作者简介

    赵辰,男,1989年生于上海,软件工程师。曾在蚂蚁金服工作四年,擅长基于Java语言的后端开发,对Java语言下的多线程编程、分布式计算、多核编程有深入研究。

    编辑推荐

    • 系统:选举、日志和多个高级主题逐步深入讲解。
    • 详尽:通过3万行源码和测试,详细分析设计细节及实现难点。
    • 生产级:基于Netty的生产级异步IO实现。
    • 完整:包含交互式客户端的简易分布式KV服务。

    内容简介

    • 从介绍分布式一致性算法开始,分析了Raft算法以及Raft算法所依赖的理论,在此基础上讲解并实现了Raft算法以及基于Raft算法的KV服务。通过本书,可以深入了解Raft算法的运行机制,也可以学到如何相对正确地实现Raft。
    • 《分布式一致性算法开发实战》分为11章,第1章简单介绍分布式一致性算法,第2章详细分析Raft算法,第3章在第2章的基础上进行整体设计,第4~8章逐个讲解基于Raft算法的KV服务的各个组件的实现,第9章讲解日志快照,第10章是生产环境必需的服务器成员变更功能,第11章介绍一些相关的Raft算法优化。
    • 本书详细介绍了Raft的核心算法、服务器成员变更以及各种优化的实现,适合那些想尝试实现Raft算法或者在生产环境加入Raft算法的人,也适合那些对于Raft算法有兴趣的读者。

    目录

    第1章 分布式一致性与共识算法简介 /1
    1.1 CAP定理 /2
    1.2 共识算法 /3
    1.3 本章小结 /6

    第2章 Raft核心算法分析 /7
    2.1 不考虑分布式一致性的集群 /8
    2.2 日志状态机模型 /8
    2.3 基于Quorum机制的写入 /9
    2.4 基于日志比较的选举 /10
    2.5 Raft算法中的选举 /13
    2.6 Raft算法中的日志复制 /18
    2.7 Raft算法中的一些细节问题 /21
    2.8 本章小结 /25

    第3章 整体设计 /27
    3.1 设计目标 /28
    3.2 设计和实现顺序 /29
    3.3 参考实现 /29
    3.4 状态数据分析 /30
    3.5 静态数据分析 /32
    3.6 集群成员与映射表 /34
    3.7 组件分析 /38
    3.8 如何解耦组件间的双向调用关系 /39
    3.9 线程模型分析 /43
    3.10 项目准备 /48
    3.11 本章小结 /56

    第4章 选举实现 /58
    4.1 角色建模 /59
    4.2 定时器组件 /63
    4.3 消息建模 /67
    4.4 关联组件和工具 /70
    4.5 一致性(核心)组件 /78
    4.6 测试 /91
    4.7 本章小结 /103

    第5章 日志实现 /104
    5.1 日志实现要求 /105
    5.2 日志实现分析 /105
    5.3 日志条目序列 /110
    5.4 日志实现 /133
    5.5 与选举部分对接 /142
    5.6 测试 /146
    5.7 本章小结 /159

    第6章 通信实现 /160
    6.1 通信接口分析 /161
    6.2 序列化与反序列化 /162
    6.3 通信实现分析 /165
    6.4 通信组件的实现 /168
    6.5 测试 /186
    6.6 本章小结 /188

    第7章 基于Raft算法的KV服务 /189
    7.1 服务设计 /190
    7.2 服务实现 /200
    7.3 Node的组装与服务的启动 /213
    7.4 关于测试 /221
    7.5 本章小结 /221

    第8章 客户端和整体测试 /222
    8.1 客户端设计与实现 /223
    8.2 客户端的启动和基本操作 /231
    8.3 单机模式 /234
    8.4 集群模式 /238
    8.5 本章小结 /258

    第9章 日志快照 /259
    9.1 日志快照的分析和设计 /260
    9.2 日志快照的实现 /267
    9.3 测试 /289
    9.4 本章小结 /296

    第10章 集群成员变更 /297
    10.1 集群成员的安全变更 /298
    10.2 成员变更的一些细节问题 /304
    10.3 成员组件修改 /307
    10.4 日志组件修改 /311
    10.5 增加节点 /324
    10.6 移除节点 /340
    10.7 测试 /344
    10.8 本章小结 /357

    第11章 Raft算法的优化 /358
    11.1 PreVote /359
    11.2 ReadIndex /368
    11.3 其他优化 /383
    11.4 本章小结 /386

    精彩书摘

    • 现存的并且可以作为集群一部分的分布式同步软件中,Apache ZooKeeper(简称ZooKeeper)可能是最有名的一个。ZooKeeper 原本是Apache Hadoop 的一部分,现在是顶级Apache Project 中的一个。ZooKeeper 被很多大公司使用,是一个经过生产环境考验的中间件。
    • 从功能上来说,ZooKeeper 是一个分布式等级型KV 服务(Hierarchical Key-Value Store)。和一般用于缓存的KV 服务不同,客户端可以监听某个节点下的Key 的变更,因此ZooKeeper 经常被用于分布式配置服务。
    • ZooKeeper 的核心是一个名叫ZAB 的算法,这是Paxos 算法的一个变种。ZAB 算法的详细内容这里不做展开,一方面ZAB 算法和Paxos 算法有相同的地方,另一方面ZooKeeper 在面向客户端方面所做的设计可能比ZAB 算法更加复杂,因此就算理解了ZAB 算法也不一定能完全理解ZooKeeper 的设计。

    读者好评

    image.png
    image.png

    以上就是本次介绍的《分布式的一致性算法》的全部相关内容,希望我整理的资源能够帮助到大家!

    相关文章

      网友评论

          本文标题:《分布式一致性算法》你都会哪些?

          本文链接:https://www.haomeiwen.com/subject/wjiyhltx.html