分布式系统原理与工程实践
书籍简介
《分布式系统原理与工程实践》通过理论篇、实践篇、工程篇、总结篇四个篇章,介绍了分布式系统的知识体系。理论篇介绍了一致性、共识、分布式约束等知识;实践篇介绍了分布式锁、分布式事务、服务发现与调用、服务保护与网关、幂等接口等知识;工程篇介绍了消息系统中间件RabbitMQ和分布式协调中间件ZooKeeper等知识;总结篇则帮助大家理清分布式系统的知识脉络。
本书适合想要学习分布式系统理论、实践、工程知识的学生、软件开发者。
书籍购买地址: 京东
书籍购买地址: 京东
书籍目录
【理论篇】
- 第1章 分布式概述
- 1.1 概述
- 1.2 应用的演进历程
- 1.2.1 单体应用
- 1.2.2 集群应用
- 无状态的节点集群
- 单一服务的节点集群
- 共享信息池的节点集群
- 信息一致的节点集群
- 1.2.3 狭义分布式应用
- 1.2.4 微服务应用
- 1.3 分布式应用概述
- 1.3.1 分布式应用的定义
- 1.3.2 分布式一致性问题
- 1.3.2 分布式应用中的节点
- 1.4 分布式应用的优势
- 1.4.1 降低了应用成本
- 1.4.2 增强应用可用性
- 1.4.3 提升应用性能
- 1.4.4 降低了开发与维护难度
- 1.5 分布式应用带来的问题
- 1.5.1 一致性问题
- 1.5.2 节点发现问题
- 1.5.3 节点调用问题
- 1.5.4 节点协作问题
- 第2章 一致性
- 2.1 一致性的概念
- 2.1.1 ACID一致性
- 2.1.2 CAP 一致性
- 2.1.3 两种一致性的关系
- 2.2 一致性的强弱
- 2.2.1 严格一致性(Strict Consistency)
- 2.2.2 顺序一致性(Sequential Consistency)
- 2.2.3 线性一致性(Linearizability)
- 2.2.4 最终一致性(Eventually Consistency)
- 2.2.5 总结
- 2.3 一致性算法
- 2.4 两阶段提交
- 2.4.1 具体实现
- 2.4.2 强一致性证明
- 2.4.3 优劣
- 2.5 三阶段提交
- 2.5.1 具体实现
- 2.5.2 优劣
- 2.1 一致性的概念
- 第3章 共识
- 3.1 共识与一致性
- 3.1.1 共识的概念
- 3.1.2 再论“一致性”
- 3.2 拜占庭将军问题
- 3.3 算法的容错性
- 3.3.1 非拜占庭容错类算法
- 3.3.2 拜占庭容错类算法
- 3.4 共识算法
- 3.5 Paxos算法
- 3.5.1 Paxos算法的提出与证明
- 问题描述
- 提议批准
- 提议学习
- 3.5.2 Paxos算法的内容
- 3.5.3 Paxos算法的总结分析
- 3.5.4 Paxos算法的理解示例
- 3.5.1 Paxos算法的提出与证明
- 3.6 Multi-Paxos算法
- 3.7 Fast-Paxos算法
- 3.8 Raft算法
- 3.8.1 Leader选举阶段
- 3.8.2 变更处理阶段
- 3.8.3 Raft算法的保证
- 脑裂的避免
- 已提交请求的保证
- 3.8.4 Raft算法总结
- 3.1 共识与一致性
- 第4章 分布式约束
- 4.1 概述
- 4.2 CAP理论
- 4.2.1 CAP理论的内容
- 4.2.2 CAP理论的理解
- 4.3 从CAP到BASE
- 4.4 BASE理论
- 4.4.1 BASE理论的含义
- 基本可用
- 软状态
- 最终一致性
- 4.4.2 BASE理论的应用
- 4.4.1 BASE理论的含义
【实践篇】
- 第5章 分布式锁
- 5.1 分布式锁的产生
- 5.2 分布式锁的特性
- 5.2.1 全局性
- 5.2.2 唯一性
- 5.2.3 遵从性
- 5.3 分布式锁的设计要点
- 5.4 分布式锁的实现
- 5.4.1 逻辑分布式锁
- 5.4.2 唯一性索引分布式锁
- 5.4.3 唯一性校验分布式锁
- 5.4.4 一致性分布式锁
- 5.5 分布式锁的应用
- 第6章 分布式事务
- 6.1 概述
- 6.2 本地事务与分布式事务
- 6.3 分布式事务的类别
- 6.3.1 应用内多数据库事务
- 6.3.2 单体应用间事务
- 6.3.3 分布式系统内事务
- 6.3.4 分布式系统间事务
- 6.4 分布式事务的类别总结
- 6.5 应用内多数据库事务方案
- 6.6 单体应用间事务方案
- 6.6.1 化为本地事务
- 6.6.2 化为应用内多数据库事务
- 6.6.3 TCC
- Try阶段
- Confirm阶段
- Cancel阶段
- TCC操作总结
- 6.6.4 本地异步消息机制
- 6.6.5 异步消息中心机制
- 6.7 近似事务
- 第7章 服务发现与调用
- 7.1 分布式带来的问题
- 7.2 服务发现
- 7.2.1 服务发现模型中的角色
- 7.2.2 反向代理模型
- 7.2.3 注册中心模型
- 7.2.4 服务网格模型
- 7.2.5 三种模型的比较
- 7.3 服务调用
- 7.3.1 背景介绍
- 7.3.2 基于接口的调用
- 7.3.3 远程过程调用
- 服务调用方
- 通信
- 服务提供方
- RPC总结
- 7.4 总结
- 第8章 服务保护与网关
- 8.1 服务保护
- 8.1.1 服务保护的理论依据
- 8.1.2 隔离
- 8.1.3 限流
- 时间窗限流法
- 漏桶限流法
- 令牌限流法
- 8.1.4 降级
- 8.1.5 熔断
- 8.1.6 恢复
- 8.2 服务网关
- 8.2.1 产生背景
- 8.2.2 网关的功能
- 8.2.3 网关结构
- 8.1 服务保护
- 第9章 幂等接口
- 9.1 概述
- 9.1.1 幂等接口概述
- 9.1.2 章节结构
- 9.2 代数系统
- 9.2.1 代数系统的定义
- 9.2.2 特殊元素
- 幺元
- 零元
- 9.2.3 幂等
- 9.3 函数
- 9.3.1 函数的定义
- 9.3.2 复合函数
- 9.4 复合函数的幂等化
- 9.4.1 函数的幺元化
- 9.4.2 函数的零元化
- 左零元
- 右零元
- 零元
- 9.4.3 运算的幂等化
- 9.4.4 复合函数幂等化总结
- 9.5 接口的幺元化
- 9.6 接口的零元化
- 9.7 调用的幂等化
- 9.7.1 判断插入数据
- 9.7.2 判断删除数据
- 9.7.3 判断数据版本
- 9.7.4 拦截重试调用
- 9.8 总结
- 9.1 概述
【工程篇】
- 第10章 分布式中间件概述
- 第11章 RabbitMQ详解
- 11.1 消息系统概述
- 11.1.1 消息系统模型
- 11.1.2 消息系统的应用
- 11.2 RabbitMQ概述
- 11.3 RabbitMQ组件
- 11.3.1 Exchange
- 11.3.2 Queue
- 11.3.3 Message
- 11.4 RabbitMQ中的连接
- 11.4.1 生产者与Exchange
- 11.4.2 Exchange与Queue
- 11.4.3 Queue与消费者
- 11.5 RabbitMQ的附加功能
- 11.5.1 投递确认功能
- 11.5.2 持久化功能
- 11.5.3 消费确认功能
- 11.5.4 逐条派发功能
- 11.5.5 RPC功能
- 11.6 RabbitMQ的使用
- 11.6.1 点对点模型
- 11.6.2 发布订阅模型
- 11.1 消息系统概述
- 第12章 ZooKeeper详解
- 12.1 单机安装与启动
- 12.1.1 运行配置
- 12.1.2 启动
- 12.1.3 计时方式
- 12.2 数据模型
- 12.2.1 数据模型概述
- 12.2.2 znode的数据与状态
- 12.2.3 znode的可选特性
- 持久特性
- 短暂特性
- 序列特性
- 容器特性
- TTL特性
- znode特性总结
- 12.2.4 znode的限额
- 12.2.5 znode权限设置
- 权限表示规则
- 用户识别规则
- world方案
- ip方案
- auth方案
- digest方案
- 12.3 交互式命令行客户端
- 12.3.1 设置类命令
- 12.3.2 znode操作类命令
- 12.3.3 交互式命令行客户端使用示例
- 12.4 监听器
- 12.4.1 监听器特性
- 一次性
- 顺序性
- 分类别
- 轻量级
- 恢复性
- 单线程
- 12.4.2 事件通知
- 12.4.3 交互式命令行客户端中的监听器
- 12.4.4 其他客户端中的监听器
- 12.4.1 监听器特性
- 12.5 连接与会话
- 12.5.1 连接建立
- 连接字符串
- 会话超时时间
- 12.5.2 服务器切换
- 12.5.3 会话状态
- 12.5.4 连接监听器
- 12.5.1 连接建立
- 12.6 集群安装
- 12.6.1 集群配置与启动
- 12.6.2 一致性实现
- 角色划分与状态
- 广播阶段
- 选主阶段
- 恢复阶段
- 12.7 使用示例
- 12.7.1 依赖引入
- 12.7.2 创建监听器
- 12.7.3 主流程编写与使用
- 12.8 应用场景
- 12.8.1 节点命名
- 12.8.2 服务发现
- 12.8.3 应用配置
- 12.8.4 分布式锁
- 12.1 单机安装与启动
【总结篇】
- 第13章 再论分布式系统
- 13.1 分布式与一致性
- 13.2 书籍脉络
- 13.3 理论篇
- 13.4 实践篇
- 13.5 工程篇
- 13.6 总结与展望
- 13.6.1 总结
- 13.6.2 展望
书籍购买地址: 京东