沃新书屋 - 深入理解Apache Dubbo与实战
本书资料更新时间:2025-05-03 01:37:40

深入理解Apache Dubbo与实战

深入理解Apache Dubbo与实战精美图片

深入理解Apache Dubbo与实战书籍详细信息


内容简介:

《深入理解Apache Dubbo与实战》首先介绍Dubbo的简史、后续的规划和整体架构大图;接着介绍Dubbo环境配置,并基于Dubbo开发第一款应用程序;然后介绍Dubbo内置的常用注册中心的实现原理,Dubbo扩展点加载的原理和实现,Dubbo的启动、服务暴露、服务消费和优雅停机的机制,Dubbo中RPC协议细节、编解码和服务调用实现原理,Dubbo集群容错、路由和负载均衡机制,Dubbo的扩展点相关知识,Dubbo高级特性的实现和原理,Dubbo常用的Filter的实现原理,Dubbo中新增etcd3注册中心的实战内容和Dubbo服务治理平台的相关知识;最后介绍Dubbo未来生态和Dubbo Mesh的相关知识。 《深入理解Apache Dubbo与实战》适合对Dubbo有一定了解、对Dubbo框架感兴趣的读者,也适合想深入理解Dubbo原理的资深开发者阅读。

书籍目录:

第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

作者简介:

商宗海,花名诣极,Apache Dubbo PMC。曾就职于阿里巴巴、有赞,担任Dubbo框架技术负责人,长期活跃在Dubbo社区。现就职于蚂蚁金服中间件团队,负责sofa-rpc和云原生方向的产品研发。 林琳,花名景竹,曾就职于华软集团、递四方等公司,担任技术经理、高级架构师等职位。现就职于蚂蚁金服支付宝事业群,负责工程平台架构工作。

其它内容:

暂无其它内容!


下载点评

  • 情节拖沓(678+)
  • 可听读(788+)
  • 优质(453+)
  • 影印(1582+)
  • MOBI(144+)
  • 修订(610+)
  • 高速(466+)
  • 双语(990+)
  • 可复制(801+)
  • 精校(189+)
  • 惊喜(200+)
  • 权威(691+)
  • 兴趣(946+)
  • 系统(233+)
  • 严肃深沉(907+)
  • 如获至宝(998+)
  • 缺页(515+)
  • 朗读(423+)
  • 学者(517+)

下载评论

  • 用户1741252938: ( 2025-03-06 17:22:18 )

    文笔优美,读起来是一种享受。

  • 用户1739015344: ( 2025-02-08 19:49:04 )

    优质版本期刊资源,AZW3/TXT格式适配各种阅读设备,操作便捷。

  • 用户1742054776: ( 2025-03-16 00:06:16 )

    高清版本小说资源,EPUB/AZW3格式适配各种阅读设备,值得收藏。

  • 用户1732505854: ( 2024-11-25 11:37:34 )

    多格式功能搭配EPUB/AZW3格式,优质数字阅读体验,推荐下载。

  • 用户1718369832: ( 2024-06-14 20:57:12 )

    图文版电子书下载稳定,支持AZW3/TXT格式导出,操作便捷。


相关书评

暂时还没有人为这本书评论!