书籍详情

深入理解RPC框架原理与实现

深入理解RPC框架原理与实现

作者:华钟明 著

出版社:电子工业出版社

出版时间:2021-10-01

ISBN:9787121420948

定价:¥118.00

购买这本书可以去
内容简介
  本书由浅入深、详细地介绍了RPC技术和RPC框架的原理。除此之外,本书还详细介绍了与RPC框架原理相关的技术,包括远程通信技术、通信协议、序列化技术、动态代理技术、IDL等。本书首先介绍了RPC技术和RPC框架的发展背景、历史及演进过程,以加深读者对RPC技术的理解。然后介绍了常见的RPC框架,让读者能够对这些RPC框架有整体上的了解。接下来将RPC框架的核心组成部分拆开,对这些组成部分逐个进行介绍,并且介绍相关的技术和概念,比如介绍远程通信方式时,会介绍Socket技术、I/O模型等。本书接着介绍了实现简易的RPC框架的流程,让读者能够上手实际操作。本书还介绍了RPC框架是如何应对异构语言下的挑战的,并且介绍了与RPC框架相关的服务治理内容,包括注册中心、配置中心、元数据中心、服务路由策略、负载均衡策略、高可用策略及服务可观测性,让读者能够全面地了解RPC框架。
作者简介
  Apache Dubbo Committer,ServiceMesher中文社区成员,热爱分享,热衷开源,专注于服务化、分布式、云原生等技术领域,对这些技术领域有着深入的研究。
目录
目录

第1部分 RPC概览
第1章 初识RPC 2
1.1 计算机核心处理器简介 3
1.1.1 单核处理器系统时代 3
1.1.2 多核处理器系统时代 4
1.1.3 多处理器系统时代 5
1.2 IPC简介 6
1.3 RPC简介 7
1.4 RPC的发展历程 10
1.5 RPC核心组成部分 11
1.5.1 服务调用方 12
1.5.2 服务提供方 12
1.5.3 本地存根 12
1.5.4 RPC通信者 13
1.6 RPC调用过程 13
1.6.1 服务暴露的过程 14
1.6.2 服务发现的过程 15
1.6.3 服务引用的过程 16
1.6.4 方法调用的过程 16
第2章 初览RPC框架 18
2.1 RPC框架简介 19
2.2 RPC框架发展及市场现状 21
2.3 Dubbo简介 25
2.4 gRPC简介 31
2.5 Thrift简介 38
2.6 Spring Cloud简介 44
2.6.1 Spring Cloud项目简介 45
2.6.2 使用Spring Cloud的组件实现RPC调用的示例 51
2.7 选择RPC框架的几个角度 61
第2部分 RPC框架核心组件
第3章 远程通信方式 68
3.1 远程通信方式简介 69
3.1.1 Socket简介 69
3.1.2 Java对Socket接口的封装 74
3.1.3 网络应用程序框架 78
3.2 I/O模型 78
3.3 Java对I/O模型的封装 81
3.3.1 BIO 81
3.3.2 NIO 82
3.3.3 AIO 93
3.4 远程通信实现方案之Netty 99
3.4.1 Netty核心组件介绍 102
3.4.2 线程模型 105
3.5 远程通信实现方案之Mina 111
3.6 远程通信实现方案之Grizzly 119
第4章 通信协议 127
4.1 标准协议 128
4.2 传输层协议 131
4.3 应用层协议 136
4.4 自定义协议简介 141
4.5 如何设计自定义协议 143
第5章 序列化 147
5.1 序列化和反序列化 148
5.2 文本格式的序列化方案 149
5.2.1 XML格式 150
5.2.2 JSON格式 152
5.3 二进制格式的序列化方案 158
5.4 序列化框架选型 167
第6章 动态代理 170
6.1 动态代理简介 171
6.2 JDK自带的动态代理方案 175
6.2.1 JDK实现动态代理的示例 175
6.2.2 通过JDK实现动态代理的原理 177
6.3 CGLib动态代理方案 183
6.3.1 使用CGLib实现动态代理的示例 184
6.3.2 使用CGLib实现动态代理的原理 185
6.4 Javassist动态代理方案 193
6.4.1 使用Javassist实现动态代理的示例 194
6.4.2 使用Javassist实现动态代理的原理 195
第7章 实现一个简易的RPC框架 203
7.1 实现简易的RPC框架 204
7.2 实现远程调用 205
7.3 实现服务治理能力 216
7.4 使用简易的RPC框架 222
第8章 异构语言应用调用 228
8.1 RPC在异构语言下的挑战 229
8.2 IDL简介 230
8.3 Dubbo在跨语言上的解决方案 232
8.3.1 Dubbo服务提供者 233
8.3.2 Dubbo服务消费者 237
8.4 CXF在跨语言上的解决方案 240
8.5 gRPC在跨语言上的解决方案 241
第3部分 服务治理
第9章 注册中心 244
9.1 注册中心简介 245
9.2 CAP模型与ACID、BASE理论 250
9.3 分布式一致性 256
9.4 注册中心实现方案之Eureka 262
9.5 注册中心实现方案之ZooKeeper 265
9.6 注册中心实现方案之Nacos 269
9.7 注册中心在一致性和可用性之间的抉择 273
第10章 配置中心 276
10.1 配置中心简介 277
10.2 配置中心实现方案之Apollo 281
10.2.1 服务端的设计 283
10.2.2 客户端的设计 285
10.3 配置中心实现方案之Nacos 286
第11章 元数据中心 292
11.1 元数据中心简介 293
11.2 元数据中心的选型 295
第12章 服务的路由 297
12.1 路由策略 298
12.2 负载均衡策略 302
12.2.1 服务端负载均衡 303
12.2.2 客户端负载均衡 304
12.3 负载均衡算法 305
12.3.1 随机算法 306
12.3.2 轮询算法 306
12.3.3 最少活跃数算法 307
12.3.4 一致性Hash负载均衡算法 308
第13章 分布式系统高可用策略 310
13.1 分布式系统高可用 311
13.2 Hystrix 317
13.3 Resilience4j 320
13.4 Sentinel 324
第14章 服务可观测性 330
14.1 服务可观测性简介 331
14.2 日志记录 333
14.3 聚合度量 335
14.4 链路追踪 337
猜您喜欢

读书导航