图书介绍

分布式服务框架原理与实践2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

分布式服务框架原理与实践
  • 李林锋著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121279195
  • 出版时间:2016
  • 标注页数:292页
  • 文件大小:28MB
  • 文件页数:314页
  • 主题词:分布式计算机-研究

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

分布式服务框架原理与实践PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 应用架构演进1

1.1 传统垂直应用架构2

1.1.1 垂直应用架构介绍2

1.1.2 垂直应用架构面临的挑战4

1.2 RPC架构6

1.2.1 RPC框架原理6

1.2.2 最简单的RPC框架实现8

1.2.3 业界主流RPC框架14

1.2.4 RPC框架面临的挑战17

1.3 SOA服务化架构18

1.3.1 面向服务设计的原则18

1.3.2 服务治理19

1.4 微服务架构21

1.4.1 什么是微服务21

1.4.2 微服务架构对比SOA22

1.5 总结23

第2章 分布式服务框架入门25

2.1 分布式服务框架诞生背景26

2.1.1 应用从集中式走向分布式26

2.1.2 亟需服务治理28

2.2 业界分布式服务框架介绍29

2.2.1 阿里Dubbo30

2.2.2 淘宝HSF33

2.2.3 亚马逊Coral Service35

2.3 分布式服务框架设计36

2.3.1 架构原理36

2.3.2 功能特性37

2.3.3 性能特性39

2.3.4 可靠性39

2.3.5 服务治理40

2.4 总结41

第3章 通信框架42

3.1 关键技术点分析43

3.1.1 长连接还是短连接43

3.1.2 BIO还是NIO43

3.1.3 自研还是选择开源NIO框架46

3.2 功能设计47

3.2.1 服务端设计48

3.2.2 客户端设计50

3.3 可靠性设计53

3.3.1 链路有效性检测54

3.3.2 断连重连机制56

3.3.3 消息缓存重发57

3.3.4 资源优雅释放58

3.4 性能设计59

3.4.1 性能差的三宗罪59

3.4.2 通信性能三原则60

3.4.3 高性能之道61

3.5 最佳实践61

3.6 总结64

第4章 序列化与反序列化65

4.1 几个关键概念澄清66

4.1.1 序列化与通信框架的关系66

4.1.2 序列化与通信协议的关系66

4.1.3 是否需要支持多种序列化方式67

4.2 功能设计67

4.2.1 功能丰富度67

4.2.2 跨语言支持68

4.2.3 兼容性69

4.2.4 性能70

4.3 扩展性设计71

4.3.1 内置的序列化/反序列化功能类71

4.3.2 反序列化扩展72

4.3.3 序列化扩展75

4.4 最佳实践77

4.4.1 接口的前向兼容性规范77

4.4.2 高并发下的稳定性78

4.5 总结78

第5章 协议栈79

5.1 关键技术点分析80

5.1.1 是否必须支持多协议80

5.1.2 公有协议还是私有协议80

5.1.3 集成开源还是自研81

5.2 功能设计82

5.2.1 功能描述82

5.2.2 通信模型82

5.2.3 协议消息定义84

5.2.4 协议栈消息序列化支持的字段类型85

5.2.5 协议消息的序列化和反序列化86

5.2.6 链路创建89

5.2.7 链路关闭90

5.3 可靠性设计90

5.3.1 客户端连接超时90

5.3.2 客户端重连机制91

5.3.3 客户端重复握手保护91

5.3.4 消息缓存重发92

5.3.5 心跳机制92

5.4 安全性设计92

5.5 最佳实践——协议的前向兼容性94

5.6 总结95

第6章 服务路由96

6.1 透明化路由97

6.1.1 基于服务注册中心的订阅发布97

6.1.2 消费者缓存服务提供者地址98

6.2 负载均衡98

6.2.1 随机98

6.2.2 轮循99

6.2.3 服务调用时延99

6.2.4 一致性哈希100

6.2.5 粘滞连接101

6.3 本地路由优先策略102

6.3.1 injvm模式102

6.3.2 innative模式102

6.4 路由规则103

6.4.1 条件路由规则103

6.4.2 脚本路由规则104

6.5 路由策略定制105

6.6 配置化路由106

6.7 最佳实践——多机房路由107

6.8 总结108

第7章 集群容错109

7.1 集群容错场景110

7.1.1 通信链路故障110

7.1.2 服务端超时111

7.1.3 服务端调用失败111

7.2 容错策略112

7.2.1 失败自动切换(Failover)112

7.2.2 失败通知(Failback)113

7.2.3 失败缓存(Failcache)113

7.2.4 快速失败(Failfast)114

7.2.5 容错策略扩展114

7.3 总结115

第8章 服务调用116

8.1 几个误区117

8.1.1 NIO就是异步服务117

8.1.2 服务调用天生就是同步的118

8.1.3 异步服务调用性能更高120

8.2 服务调用方式120

8.2.1 同步服务调用120

8.2.2 异步服务调用121

8.2.3 并行服务调用125

8.2.4 泛化调用129

8.3 最佳实践130

8.4 总结131

第9章 服务注册中心132

9.1 几个概念133

9.1.1 服务提供者133

9.1.2 服务消费者133

9.1.3 服务注册中心133

9.2 关键功能特性设计134

9.2.1 支持对等集群135

9.2.2 提供CRUD接口136

9.2.3 安全加固136

9.2.4 订阅发布机制137

9.2.5 可靠性138

9.3 基于ZooKeeper的服务注册中心设计139

9.3.1 服务订阅发布流程设计139

9.3.2 服务健康状态检测141

9.3.3 对等集群防止单点故障142

9.3.4 变更通知机制144

9.4 总结144

第10章 服务发布和引用145

10.1 服务发布设计146

10.1.1 服务发布的几种方式146

10.1.2 本地实现类封装成代理148

10.1.3 服务发布成指定协议148

10.1.4 服务提供者信息注册149

10.2 服务引用设计150

10.2.1 本地接口调用转换成远程服务调用150

10.2.2 服务地址本地缓存151

10.2.3 远程服务调用151

10.3 最佳实践152

10.3.1 对等设计原则152

10.3.2 启动顺序问题153

10.3.3 同步还是异步发布服务153

10.3.4 警惕网络风暴154

10.3.5 配置扩展154

10.4 总结156

第11章 服务灰度发布157

11.1 服务灰度发布流程设计158

11.1.1 灰度环境准备158

11.1.2 灰度规则设置159

11.1.3 灰度规则下发160

11.1.4 灰度路由161

11.1.5 失败回滚162

11.1.6 灰度发布总结163

11.2 总结163

第12章 参数传递164

12.1 内部传参165

12.1.1 业务内部参数传递165

12.1.2 服务框架内部参数传递168

12.2 外部传参169

12.2.1 通信协议支持169

12.2.2 传参接口定义170

12.3 最佳实践171

12.3.1 防止参数互相覆盖171

12.3.2 参数生命周期管理171

12.4 总结172

第13章 服务多版本173

13.1 服务多版本管理设计174

13.1.1 服务版本号管理174

13.1.2 服务提供者175

13.1.3 服务消费者175

13.1.4 基于版本号的服务路由176

13.1.5 服务热升级177

13.2 与OSGi的对比178

13.2.1 模块化开发179

13.2.2 插件热部署和热升级184

13.2.3 不使用OSGi的其他理由185

13.3 总结185

第14章 流量控制186

14.1 静态流控187

14.1.1 传统静态流控设计方案187

14.1.2 传统方案的缺点188

14.1.3 动态配额分配制188

14.1.4 动态配额申请制190

14.2 动态流控191

14.2.1 动态流控因子192

14.2.2 分级流控192

14.3 并发控制193

14.3.1 服务端全局控制193

14.3.2 服务消费者流控194

14.4 连接控制195

14.4.1 服务端连接数流控195

14.4.2 服务消费者连接数流控195

14.5 并发和连接控制算法195

14.6 总结197

第15章 服务降级198

15.1 屏蔽降级199

15.1.1 屏蔽降级的流程199

15.1.2 屏蔽降级的设计实现200

15.2 容错降级202

15.2.1 容错降级的工作原理202

15.2.2 运行时容错降级204

15.3 业务层降级205

15.4 总结205

第16章 服务优先级调度207

16.1 设置服务优先级208

16.2 线程调度器方案209

16.3 Java优先级队列210

16.4 加权优先级队列211

16.5 服务迁入迁出212

16.6 总结213

第17章 服务治理214

17.1 服务治理技术的历史变迁215

17.1.1 SOA Governance215

17.1.2 分布式服务框架服务治理217

17.1.3 AWS云端微服务治理217

17.2 应用服务化后面临的挑战218

17.2.1 跨团队协作问题219

17.2.2 服务的上下线管控220

17.2.3 服务安全220

17.2.4 服务SLA保障221

17.2.5 故障快速定界定位221

17.3 服务治理222

17.3.1 服务治理架构设计223

17.3.2 运行态服务治理功能设计225

17.3.3 线下服务治理232

17.3.4 安全和权限管理234

17.4 总结237

第18章 分布式消息跟踪239

18.1 业务场景分析240

18.1.1 故障的快速定界定位240

18.1.2 调用路径分析241

18.1.3 调用来源和去向分析242

18.2 分布式消息跟踪系统设计242

18.2.1 系统架构243

18.2.2 埋点日志244

18.2.3 采样率247

18.2.4 采集和存储埋点日志248

18.2.5 计算和展示249

18.2.6 调用链扩展251

18.3 总结251

第19章 可靠性设计253

19.1 服务状态检测254

19.1.1 基于服务注册中心状态检测254

19.1.2 链路有效性状态检测机制255

19.2 服务健康度检测256

19.3 服务故障隔离257

19.3.1 进程级故障隔离257

19.3.2 VM级故障隔离259

19.3.3 物理机故障隔离260

19.3.4 机房故障隔离261

19.4 其他可靠性特性262

19.4.1 服务注册中心262

19.4.2 监控中心262

19.4.3 服务提供者262

19.5 总结263

第20章 微服务架构264

20.1 微服务架构产生的历史背景265

20.1.1 研发成本挑战265

20.1.2 运维成本高267

20.1.3 新需求上线周期长268

20.2 微服务架构带来的改变268

20.2.1 应用解耦268

20.2.2 分而治之270

20.2.3 敏捷交付271

20.3 微服务架构解析271

20.3.1 微服务划分原则272

20.3.2 开发微服务272

20.3.3 基于Docker容器部署微服务274

20.3.4 治理和运维微服务277

20.3.5 特点总结278

20.4 总结279

第21章 服务化最佳实践280

21.1 性能和时延问题281

21.1.1 RPC框架高性能设计281

21.1.2 业务最佳实践285

21.2 事务一致性问题286

21.2.1 分布式事务设计方案287

21.2.2 分布式事务优化288

21.3 研发团队协作问题289

21.3.1 共用服务注册中心290

21.3.2 直连提供者290

21.3.3 多团队进度协同291

21.3.4 服务降级和Mock测试291

21.3.5 协同调试问题292

21.3.6 接口前向兼容性292

21.4 总结292

热门推荐