深入理解APACHE DUBBO与实战9787121366345
正版图书,可开发票,请放心购买。
¥
59.25
7.5折
¥
79
全新
仅1件
作者诣极,林琳
出版社电子工业出版社
ISBN9787121366345
出版时间2018-05
装帧平装
开本其他
定价79元
货号9564861
上书时间2024-11-14
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
商宗海,花名诣极,Apache Dubbo PMC。曾就职于阿里巴巴、有赞,担任Dubbo框架技术负责人,长期活跃在Dubbo社区。现就职于蚂蚁金服中间件团队,负责sofa-rpc和云原生方向的产品研发。
林琳,花名景竹,曾就职于华软集团、递四方等公司,担任技术经理、高级架构师等职位。现就职于蚂蚁金服,负责工程平台架构工作。
目录
目录
第1章 Dubbo――高性能RPC通信框架 1
1.1 应用架构演进过程 1
1.1.1 单体应用 1
1.1.2 分布式应用 3
1.2 Dubbo简介 6
1.2.1 Dubbo的发展历史 7
1.2.2 Dubbo是什么 7
1.2.3 Dubbo解决什么问题 9
1.2.4 谁在使用Dubbo 10
1.2.5 Dubbo后续的规划 11
1.3 Dubbo总体大图 11
1.3.1 Dubbo总体分层 11
1.3.2 Dubbo核心组件 12
1.3.3 Dubbo总体调用过程 13
1.4 小结 15
第2章 开发第一款Dubbo应用程序 16
2.1 配置开发环境 16
2.1.1 下载并安装JDK 17
2.1.2 下载并安装IDE 17
2.1.3 下载并配置Maven 18
2.1.4 下载并配置ZooKeeper 18
2.1.5 使用IDEA调试Dubbo源码 18
2.2 基于XML配置实现 21
2.2.1 编写Echo服务器 21
2.2.2 编写Echo客户端 24
2.3 基于注解实现 26
2.3.1 基于注解编写Echo服务器 26
2.3.2 基于注解编写Echo客户端 28
2.4 基于API实现 30
2.4.1 基于API编写Echo服务器 30
2.4.2 基于API编写Echo客户端 31
2.5 构建并运行 32
2.6 小结 34
第3章 Dubbo注册中心 35
3.1 注册中心概述 35
3.1.1 工作流程 36
3.1.2 数据结构 37
3.1.3 ZooKeeper原理概述 37
3.1.4 Redis原理概述 39
3.2 订阅/发布 40
3.2.1 ZooKeeper的实现 40
3.2.2 Redis的实现 44
3.3 缓存机制 48
3.3.1 缓存的加载 49
3.3.2 缓存的保存与更新 50
3.4 重试机制 50
3.5 设计模式 51
3.5.1 模板模式 51
3.5.2 工厂模式 52
3.6 小结 54
第4章 Dubbo扩展点加载机制 55
4.1 加载机制概述 55
4.1.1 Java SPI 56
4.1.2 扩展点加载机制的改进 57
4.1.3 扩展点的配置规范 59
4.1.4 扩展点的分类与缓存 60
4.1.5 扩展点的特性 61
4.2 扩展点注解 62
4.2.1 扩展点注解:@SPI 62
4.2.2 扩展点自适应注解:@Adaptive 63
4.2.3 扩展点自动激活注解:@Activate 65
4.3 ExtensionLoader的工作原理 66
4.3.1 工作流程 66
4.3.2 getExtension的实现原理 67
4.3.3 getAdaptiveExtension的实现原理 70
4.3.4 getActivateExtension的实现原理 73
4.3.5 ExtensionFactory的实现原理 73
4.4 扩展点动态编译的实现 76
4.4.1 总体结构 77
4.4.2 Javassist动态代码编译 78
4.4.3 JDK动态代码编译 79
4.5 小结 80
第5章 Dubbo启停原理解析 81
5.1 配置解析 81
5.1.1 基于schema设计解析 82
5.1.2 基于XML配置原理解析 85
5.1.3 基于注解配置原理解析 91
5.2 服务暴露的实现原理 97
5.2.1 配置承载初始化 97
5.2.2 远程服务的暴露机制 97
5.2.3 本地服务的暴露机制 105
5.3 服务消费的实现原理 106
5.3.1 单注册中心消费原理 106
5.3.2 多注册中心消费原理 113
5.3.3 直连服务消费原理 114
5.4 优雅停机原理解析 115
5.5 小结 116
第6章 Dubbo远程调用 117
6.1 Dubbo调用介绍 117
6.2 Dubbo协议详解 119
6.3 编解码器原理 122
6.3.1 Dubbo协议编码器 123
6.3.2 Dubbo协议解码器 128
6.4 Telnet调用原理 136
6.4.1 Telnet指令解析原理 136
6.4.2 Telnet实现健康监测 140
6.5 ChannelHandler 141
6.5.1 核心Handler和线程模型 141
6.5.2 Dubbo请求响应Handler 145
6.5.3 Dubbo心跳Handler 148
6.6 小结 150
第7章 Dubbo集群容错 151
7.1 Cluster层概述 151
7.2 容错机制的实现 153
7.2.1 容错机制概述 153
7.2.2 Cluster接口关系 155
7.2.3 Failover策略 157
7.2.4 Failfast策略 158
7.2.5 Failsafe策略 158
7.2.6 Failback策略 159
7.2.7 Available策略 160
7.2.8 Broadcast策略 160
7.2.9 Forking策略 161
7.3 Directory的实现 162
7.3.1 总体实现 162
7.3.2 RegistryDirectory的实现 163
7.4 路由的实现 166
7.4.1 路由的总体结构 166
7.4.2 条件路由的参数规则 167
7.4.3 条件路由的实现 168
7.4.4 文件路由的实现 169
7.4.5 脚本路由的实现 170
7.5 负载均衡的实现 171
7.5.1 包装后的负载均衡 171
7.5.2 负载均衡的总体结构 173
7.5.3 Random负载均衡 175
7.5.4 RoundRobin负载均衡 176
7.5.5 LeastActive负载均衡 178
7.5.6 一致性Hash负载均衡 179
7.6 Merger的实现 181
7.6.1 总体结构 181
7.6.2 MergeableClusterInvoker机制 183
7.7 Mock 185
7.7.1 Mock常见的使用方式 185
7.7.2 Mock的总体结构 186
7.7.3 Mock的实现原理 187
7.8 小结 189
第8章 Dubbo扩展点 190
8.1 Dubbo核心扩展点概述 190
8.1.1 扩展点的背景 191
8.1.2 扩展点整体架构 191
8.2 RPC层扩展点 192
8.2.1 Proxy层扩展点 192
8.2.2 Registry层扩展点 194
8.2.3 Cluster层扩展点 195
8.3 Remote层扩展点 198
8.3.1 Protocol层扩展点 199
8.3.2 Exchange层扩展点 202
8.3.3 Transport层扩展点 203
8.3.4 Serialize层扩展点 206
8.4 其他扩展点 207
第9章 Dubbo高级特性 210
9.1 Dubbo高级特性概述 210
9.2 服务分组和版本 211
9.3 参数回调 214
9.4 隐式参数 217
9.5 异步调用 218
9.6 泛化调用 219
9.7 上下文信息 220
9.8 Telnet操作 221
9.9 Mock调用 224
9.10 结果缓存 226
9.11 小结 226
第10章 Dubbo过滤器 227
10.1 Dubbo过滤器概述 227
10.1.1 过滤器的使用 228
10.1.2 过滤器的总体结构 228
10.2 过滤器链初始化的实现原理 231
10.3 服务提供者过滤器的实现原理 233
10.3.1 AccessLogFilter的实现原理 233
10.3.2 ExecuteLimitFilter的实现原理 234
10.3.3 ClassLoaderFilter的实现原理 235
10.3.4 ContextFilter的实现原理 237
10.3.5 ExceptionFilter的实现原理 237
10.3.6 TimeoutFilter的实现原理 238
10.3.7 TokenFilter的实现原理 238
10.3.8 TpsLimitFilter的实现原理 239
10.4 消费者过滤器的实现原理 240
10.4.1 ActiveLimitFilter的实现原理 240
10.4.2 ConsumerContextFilter的实现原理 242
10.4.3 DeprecatedFilter的实现原理 242
10.4.4 FutureFilter的实现原理 243
10.5 小结 243
第11章 Dubbo注册中心扩展实践 245
11.1 etcd背景介绍 245
11.2 etcd数据结构设计 246
11.3 构建可运行的注册中心 248
11.3.1 扩展Transporter实现 248
11.3.2 扩展RegistryFactory实现 249
11.3.3 新增JEtcdClient实现 250
11.3.4 扩展FailbackRegistry实现 260
11.3.5 编写单元测试 263
11.4 搭建etcd集群并在Dubbo中运行 263
11.4.1 单机启动etcd 264
11.4.2 集群启动etcd 265
11.5 小结 266
第12章 Dubbo服务治理平台 267
12.1 服务治理平台总体结构 267
12.2 服务治理平台的实现原理 269
12.3 小结 273
第13章 Dubbo未来展望 274
13.1 Dubbo未来生态 274
13.1.1 开源现状 274
13.1.2 后续发展 275
13.2 云原生 281
13.2.1 面临的挑战 281
13.2.2 Service Mesh简介 283
13.2.3 Dubbo Mesh 284
13.3 小结 285
主编推荐
与官方文档不同,官方文档侧重讲解使用方法,《深入理解Apache Dubbo与实战》主要侧重于详细解读Dubbo框架工作原理和底层机制,并结合少量核心源码进行讲解。在原理的基础上,展示一些动手扩展Dubbo特性的实战场景,并对Dubbo的发展方向Dubbo Mesh做了一些探索。
精彩内容
本书首先介绍Dubbo的简史、后续的规划和整体架构大图;接着介绍Dubbo环境配置,并基于Dubbo开发第一款应用程序;然后介绍Dubbo内置的常用注册中心的实现原理,Dubbo扩展点加载的原理和实现,Dubbo的启动、服务暴露、服务消费和优雅停机的机制,Dubbo中RPC协议细节、编解码和服务调用实现原理,Dubbo集群容错、路由和负载均衡机制,Dubbo的扩展点相关知识,Dubbo高级特性的实现和原理,Dubbo常用的Filter的实现原理,Dubbo中新增etcd3注册中心的实战内容和Dubbo服务治理平台的相关知识;最后介绍Dubbo未来生态和Dubbo Mesh的相关知识。
媒体评论
与官方文档不同,官方文档侧重讲解使用方法,《深入理解Apache Dubbo与实战》主要侧重于详细解读Dubbo框架工作原理和底层机制,并结合少量核心源码进行讲解。在原理的基础上,展示一些动手扩展Dubbo特性的实战场景,并对Dubbo的发展方向Dubbo Mesh做了一些探索。
Dubbo作为一款优秀的RPC框架,在网络上介绍、分析其内容的文章不少,其中能够做到成体系介绍、深入浅出讲解原理的,寥寥可数。我们一直缺少一本体系化讲解Dubbo原理的书籍。本书的作者是Apache Dubbo的PMC,也是Dubbo的资深使用者,能站在使用者的角度上,深入浅出地讲解Dubbo的内部原理。如果你已经熟练使用Dubbo,但苦于无法深入研究,这本书不失为一种选择。
——温绍锦,Druid & Fastjson 作者
Dubbo自开源以来,市面上一直缺乏一本适合初学者实战和进阶的书籍,相关的内容散落在个人爱好者和官方的博客里。在Dubbo成为Apache明星项目之际,诣极出版的这本生动翔实、深入浅出的书籍,对于想系统掌握Dubbo的读者来说,是案头颇具参考价值的一本图书,也期待读者在掌握Dubbo后,可以一起加入Dubbo的社区。
——罗毅,Apache Dubbo PMC副总裁
本书是由Apache Dubbo PMC参与编写的书籍,其内容的木又威性具有指标性意义。一方面得益于作者长期作为Dubbo资深用户,能够感同使用者求知心理。另一方面,作者作为Dubbo的改良者和革新者,将自己的独到见解著于此书,将技术的广度和深度提升到令人印象深刻的地步。如果您期待掌握“Hello,World”使用技巧,本书或许会令人失望。倘若您有志成为Apache Dubbo开源社区的合伙人,学习此书会是一种明智的选择,也将是Dubbo 2.6 通往Dubbo 2.7的捷径。
——小马哥,Apache Dubbo PMC,《Spring Boot编程思想》作者
— 没有更多了 —
以下为对购买帮助不大的评价