当前位置: 首页 > 更多 > 其它

《分布式系统原理与工程实践》易哥 pdf电子书[35MB]

  • 其它
  • 更新时间:2025-10-03 07:14:43
简介《分布式系统原理与工程实践》是由易哥编著,分布式系统是当前软件系统的主要形态,其广泛应用在互联网应用中。然而,分布式系统的设计、开发、运维需要深厚的理论知识、丰富的实践经验,这给相关的软件开发#者带来了困难。本书是一本介绍分布式系统理论、实践...
《分布式系统原理与工程实践》pdf电子书下载
《分布式系统原理与工程实践》pdf百度网盘
《分布式系统原理与工程实践》pdf百度网盘
《分布式系统原理与工程实践》pdf百度网盘
《分布式系统原理与工程实践》pdf百度网盘

 

分布式系统是当前软件系统的主要形态,其广泛应用在互联网应用中。然而,分布式系统的设计、开发、运维需要深厚的理论知识、丰富的实践经验,这给相关的软件开发#者带来了困难。本书是一本介绍分布式系统理论、实践、工程的体系化书籍。本书的理论篇主要介绍分布式系统相关的理论知识,包分布式系统的演进过程和定义、一致性定义及其实现算法、共识定义及其实现算法、CAP和BASE理论。这些知识将让读者构建起分布式系统的理论基础。本书的实践篇主要介绍分布式系统的具体实现,涉及分布式锁、分布式事务、服务发现、服务调用、服务保护、网关、幂等接口。这些知识将帮助读者实现分布式系统的模块。本书的工程篇介绍了常见的分布式中间件,其中着重介绍了RabbitMQ和ZooKeeper。这些知识将帮助读者熟练使用常用的分布式中间件。#后,本书还通过总结篇对分布式系统的理论、实践、工程知识进行了全面的汇总,帮助读者理清脉络,建立体系化的知识。


作者简介:
崔现斌(笔名易哥),毕业于浙江大学、山东大学,高#级软件系统架构师、网络工程师、数据库工程师、软件测试工程师、注册电气工程师。在校成绩优异,曾获得国家奖学金两次,一等奖学金次,科技创新大赛一等奖三次,以及五青年科学奖等。主要科研方向为机器学习、分布式算法、容错算法在无线传感网络中的应用,相关论文获得IEEE通信协会#佳论文奖。具有十余年软件开发经验,曾担任网站技术部门负责人,现从事互联网金融行业。主要负责软件系统架构设计与后端开发,专注分布式架构、研发协同、持续交付等领域,设计并实现应用交付流水系统、任务协作与管理系统、通用流处理ping台等众多系统或ping台。同时也是一名活跃的开源开发#者。著有书籍《通用源码阅读指导书》《高性能架构之道》,两本书籍均受到多方好评,并在台湾地区发行繁体版。

目录:理论篇
1章 分布式概述 2
1.1 概述 2
1.2 应用的演进历程 3
1.2.1 单体应用 3
1.2.2 集应用 4
1.2.3 狭义分布式应用 9
1.2.4 微服务应用 11
1.3 分布式系统概述 12
1.3.1 分布式系统的定义 12
1.3.2 分布式一致性问题 14
1.3.3 分布式应用中的节点 15
1.4 分布式应用的优势 16
1.5 分布式应用的问题 17
1.6 本章小结 20
2章 一致性 21
2.1 一致性的概念 21
2.1.1 ACID一致性 22
2.1.2 CAP一致性 23
2.1.3 两种一致性的关系 23
2.2 一致性的强弱 24
2.2.1 严格一致性 25
2.2.2 顺序一致性 25
2.2.3 线性一致性 27
2.2.4 #终一致性 30
2.2.5 总结 31
2.3 一致性算法 32
2.4 两阶段提交 33
2.4.1 具体实现 33
2.4.2 线性一致性证明 35
2.4.3 优劣 39
2.5 三阶段提交 39
2.5.1 具体实现 40
2.5.2 优劣 42
2.6 本章小结 44
3章 共识 46
3.1 共识与一致性 46
3.1.1 共识的概念 47
3.1.2 再论“一致性” 49
3.2 拜占庭将军问题 51
3.3 算法的容错性 54
3.3.1 非拜占庭容错算法 55
3.3.2 拜占庭容错算法 55
3.4 共识算法 56
3.5 Paos算法 56
3.5.1 提出与证明 57
3.5.2 算法的内容 60
3.5.3 算法实现分析 62
3.5.4 理解与示例 64
3.6 Raft算法 65
3.6.1 Raft算法的内容 66
3.6.2 Raft算法的保证 70
3.6.3 总结分析 73
3.7 本章小结 74
4章 分布式约束 76
4.1 CAP定理 76
4.1.1 定理的内容 76
4.1.2 示例与理解 77
4.2 从CAP定理到BASE定理 78
4.3 BASE定理 80
4.3.1 BASE定理的含义 80
4.3.2 BASE定理的应用 81
4.4 本章小结 83
实践篇
5章 分布式锁 86
5.1 产生背景 86
5.2 特性 88
5.2.1 全局性 88
5.2.2 唯#一性 89
5.2.3 遵从性 90
5.3 设计要点 90
5.4 实现 91
5.4.1 逻辑分布式锁 91
5.4.2 唯#一性索引分布式锁 92
5.4.3 唯#一性校验分布式锁 93
5.4.4 一致性分布式锁 94
5.5 应用场景 96
5.6 本章小结 96
6章 分布式事务 97
6.1 本地事务与分布式事务 98
6.2 分布式事务的类别 99
6.2.1 应用内多数据库事务 99
6.2.2 单体应用间事务 99
6.2.3 分布式系统内事务 100
6.2.4 分布式系统间事务 101
6.3 分布式事务的类别总结 101
6.4 应用内多数据库事务方案 102
6.5 单体应用间事务方案 104
6.5.1 化为本地事务 104
6.5.2 化为应用内多数据库事务 105
6.5.3 TCC 106
6.5.4 本地异步消息机制 111
6.5.5 异步消息中心机制 113
6.6 近似事务 114
6.7 本章小结 116
7章 服务发现与调用 117
7.1 分布式带来的问题 117
7.2 服务发现 119
7.2.1 服务发现模型中的角色 119
7.2.2 反向代理模型 120
7.2.3 注册中心模型 120
7.2.4 服务网格模型 122
7.2.5 三种模型的比较 123
7.3 服务调用 123
7.3.1 背景介绍 123
7.3.2 基于接口的调用 125
7.3.3 远程过程调用 126
7.4 本章小结 130
8章 服务保护与网关 131
8.1 服务保护 131
8.1.1 理论依据 132
8.1.2 隔离 133
8.1.3 限流 135
8.1.4 降级 139
8.1.5 熔断 142
8.1.6 恢复 144
8.2 服务网关 145
8.2.1 产生背景 145
8.2.2 功能 146
8.2.3 结构 147
8.3 本章小结 147
9章 幂等接口 148
9.1 概述 148
9.1.1 幂等接口概述 148
9.1.2 章节结构 150
9.2 代数系统 151
9.2.1 代数系统的定义 151
9.2.2 特殊元素 151
9.2.3 幂等 154
9.3 函数 155
9.3.1 函数的定义 155
9.3.2 复合函数 157
9.4 复合函数的幂等化 157
9.4.1 函数的幺元化 157
9.4.2 函数的零元化 158
9.4.3 运算的幂等化 160
9.4.4 复合函数幂等化总结 161
9.5 接口的幺元化 161
9.6 接口的零元化 162
9.7 调用的幂等化 163
9.7.1 判断插入数据 163
9.7.2 判断删除数据 164
9.7.3 判断数据版本 164
9.7.4 拦截重试调用 166
9.8 幂等接口总结 167
9.9 本章小结 168
工程篇
10章 分布式中间件概述 171
11章 RabbitMQ详解 174
11.1 消息系统概述 174
11.1.1 消息系统模型 174
11.1.2 消息系统的应用 175
11.2 RabbitMQ概述 177
11.3 RabbitMQ的组件 177
11.3.1 Echange 177
11.3.2 Queue 178
11.3.3 Message 178
11.4 RabbitMQ的连接 179
11.4.1 生产者与Echange 179
11.4.2 Echange与Queue 180
11.4.3 Queue与消费者 181
11.5 附加功能 182
11.5.1 投递确认功能 182
11.5.2 持久化功能 183

点击下载