深度剖析Apache Dubbo核心技术内幕

本书特色

[

Dubbo是阿里巴巴开发的一个开源的高性能、高可用、可扩展的分布式RPC调用框架,致力于提供高性能和透明化的 RPC 远程调用服务解决方案。作为阿里巴巴 SOA 服务化治理方案的核心框架,目前已进入 Apache 孵化器项目。在单体应用时,不同业务模块部署在同一个JVM 进程内,这时通过本地调用就可以解决不同业务模块之间的相互引用;但在多体应用时,不同业务模块大多部署到不同的机器上,这时一个高效、稳定的RPC框架就显得特别重要了。Apache Dubbo 作为阿里巴巴开源的分布式RPC 框架,在进入Apache 孵化器项目后现已毕业,相信在开源社区的不断贡献下,它会成为RPC 框架中的佼佼者。本书是对Apache Dubbo 的使用以及内核原理的深度剖析,分为三部分:*部分为基础篇,首先从整体上讲解使用Dubbo 搭建的系统由哪些模块组成,各模块相互之间的调用关系是怎么样的,然后基于本书的Demo 讲解如何使用Dubbo ;第二部分为高级篇,主要讲解Dubbo 框架内部实现原理,包含支撑Dubbo框架的适配器类原理、动态编译原理、增强SPI 原理、消费端的泛化调用实现原理、消费端异步调用与服务提供端的异步执行、Dubbo 框架的线程模型、消费端负载均衡策略、消费端集群容错策略、并发控制原理、Dubbo 网络协议等;第三部分为实践篇,主要探讨如何使用Arthas 和一些Demo 为研究Dubbo 框架原理提供方便,并且讲解如何基于CompletableFuture 和Netty 模拟RPC 同步与纯异步调用。本书将原理与实践相结合,由浅入深、通俗易懂地讲解了Dubbo 框架的使用及内核原理实现,适合Java 中高级研发工程师,以及对RPC 框架技术感兴趣,希望探究RPC 框架内部实现原理的人员阅读。

]

内容简介

[

作为阿里巴巴SOA服务化治理方案的核心框架, 目前已进入Apache孵化器项目。本书分为基础篇、高级篇和实践篇, 深度剖析了Dubbo的核心技术原理, 并根据作者的实践强化了应用方向的内容。

]

作者简介

[

翟陆续,目前就职于淘宝技术,花名加多。热衷并发、异步、反应式编程,熟悉常用开源框架实现原理,微信公众号:技术原始积累。

]

目录

基 础 篇 第1 章 Dubbo 基础 / 2 1.1 初识Dubbo / 2 1.2 本书Demo 详解 / 3 1.2.1 Demo 结构说明 / 3 1.2.2 SDK 模块 / 4 1.2.3 同步发布与调用服务 / 6 1.2.4 服务消费端异步调用服务/ 10 1.2.5 服务提供端异步执行 / 13 1.2.6 服务消费端泛化调用 / 17 1.2.7 服务消费端本地服务mock 与服务降级 / 21 1.2.8 隐式参数传递 / 24 1.2.9 本地服务暴露与引用 / 26 1.3 小结 / 28 高 级 篇 第2章 Dubbo 框架内核原理剖析 / 30 2.1 Dubbo 分层架构概述 / 30 2.2 Dubbo 远程调用细节 / 33 2.2.1 服务提供者暴露一个服务的概要过程 / 33 2.2.2 服务消费者消费一个服务的概要过程 / 34 2.3 Dubbo 的适配器原理 / 35 2.4 Dubbo 的动态编译原理 / 36 2.5 Dubbo 增强SPI / 39 2.5.1 JDK 标准SPI 原理 / 39 2.5.2 增强SPI 原理 / 43 2.5.3 扩展点的自动包装 / 54 2.6 Dubbo 使用JavaAssist 减少反射调用开销 / 57 2.7 小结 / 60 第3章 远程服务发布与引用流程剖析 / 61 3.1 Dubbo 服务发布端启动流程剖析 / 61 3.2 Dubbo 服务提供方如何处理请求 / 74 3.3 Dubbo 服务消费方启动流程剖析 / 81 3.4 Dubbo 服务消费端一次远程调用过程 / 97 3.5 小结 / 100 第4章 Directory 目录与Router 路由服务 / 101 4.1 Directory 目录 . / 101 4.2 RegistryDirectory 的创建 / 101 4.3 RegistryDirectory 中invoker 列表的更新 102 4.4 小结 / 107 第5章 Dubbo 消费端服务mock 与服务降级策略原理 / 108 5.1 服务降级原理 / 108 5.1.1 降级策略注册 / 108 5.1.2 服务消费端使用降级策略 / 109 5.2 本地服务mock 原理 / 111 5.2.1 mock 合法性检查 / 111 5.2.2 服务消费端使用mock 服务 / 113 5.3 小结 / 116 第6章 Dubbo 集群容错与负载均衡策略 / 117 6.1 Dubbo 集群容错策略概述 / 117 6.2 Failfast Cluster 策略源码分析 / 119 X ┃ 深度剖析Apache Dubbo核心技术内幕 6.3 Failsafe Cluster 策略源码分析 / 120 6.4 Failover Cluster 策略源码分析 / 120 6.5 Failback Cluster 策略源码分析 / 122 6.6 Forking Cluster 策略源码分析 / 124 6.7 Broadcast Cluster 策略源码分析 / 127 6.8 如何基于扩展接口自定义集群容错策略 / 128 6.9 Dubbo 负载均衡策略概述 / 129 6.10 Random LoadBalance 策略源码分析 / 131 6.11 RoundRobin LoadBalance 策略源码分析 / 134 6.12 LeastActive LoadBalance 策略源码分析 / 139 6.13 ConsistentHash LoadBalance 策略源码分析 / 141 6.13.1 一致性 Hash 负载均衡策略原理 / 141 6.13.2 源码分析 / 147 6.14 如何基于扩展接口自定义负载均衡策略/ 148 6.15 小结 / 149 第7章 Dubbo 线程模型与线程池策略 / 150 7.1 Dubbo 的线程模型概述 / 150 7.2 AllDispatcher 源码剖析 / 152 7.3 DirectDispatcher 源码剖析 / 154 7.4 MessageOnlyDispatcher 源码剖析 / 154 7.5 ExecutionDispatcher 源码剖析 / 155 7.6 ConnectionOrderedDispatcher 源码剖析/ 156 7.7 线程模型的确定时机 / 159 7.8 如何基于扩展接口自定义线程模型 / 160 7.9 Dubbo 的线程池策略 / 161 7.10 FixedThreadPool 源码剖析 / 161 7.11 LimitedThreadPool 源码剖析 / 163 7.12 EagerThreadPool 源码剖析 / 164 7.13 CachedThreadPool 源码剖析 / 166 7.14 线程池的确定时机 / 168 7.15 如何基于扩展接口自定义线程池策略 / 168 7.16 小结 / 169 第8章 Dubbo 如何实现泛化引用 / 170 8.1 服务消费端GenericImplFilter 源码分析 / 170 8.2 服务提供端GenericFilter 源码分析 / 172 8.3 小结 / 176 第9章 Dubbo 并发控制 / 177 9.1 服务消费端并发控制 / 177 9.2 服务提供端并发控制 / 182 9.3 小结 / 185 第10章 Dubbo 隐式参数传递 / 186 10.1 服务消费端AbstractClusterInvoker 原理剖析 / 186 10.2 服务提供方ContextFilter 原理剖析 / 188 10.3 小结 / 189 第11章 Dubbo 全链路异步 / 190 11.1 服务消费端异步调用 / 190 11.1.1 2.7.0 版本前的异步调用实现 / 191 11.1.2 2.7.0 版本提供的异步调用实现 / 201 11.2 服务提供端异步执行/ 204 11.2.1 基于定义CompletableFuture 签名的接口实现异步执行 / 205 11.2.2 使用AsyncContext 实现异步执行 / 208 11.3 异步调用与执行引入的新问题 / 211 11.3.1 Filter 链 / 211 11.3.2 上下文对象传递 / 216 11.4 小结 / 218 第12章 本地服务暴露与引用原理 / 219 12.1 本地服务暴露流程 / 219 12.2 本地服务引用启动流程 / 222 XII ┃ 深度剖析Apache Dubbo核心技术内幕 12.3 本地服务一次引用流程 / 224 12.4 小结 / 225 第13章 Dubbo 协议与网络传输 / 226 13.1 Dubbo 协议 / 226 13.2 服务消费方编码原理 / 229 13.3 服务发布方解码原理 / 233 13.4 小结 / 241 实 践 篇 第14章 Dubbo 实践 / 244 14.1 Arthas 的简介与安装 / 244 14.2 查看扩展接口适配器类的源码 / 245 14.3 查看服务提供端Wrapper 类的源码 / 247 14.4 查询Dubbo 启动后都有哪些Filter / 250 14.5 Demo 验证RoundRobin LoadBalance 负载均衡原理 / 253 14.6 如何动态获取Dubbo 服务提供方地址列表/ 256 14.6.1 场景概述/ 256 14.6.2 原理与实现 / 257 14.7 根据IP 动态路由调用Dubbo 服务/ 260 14.8 基于CompletableFuture 和Netty 模拟RPC 同步与纯异步调用 / 264 14.8.1 协议帧定义 /..265 14.8.2 RpcServer 的实现 / 265 14.8.3 RpcClient 的实现 / 268 14.8.4 实例 / 273 14.9 小结 / 275

封面

深度剖析Apache Dubbo核心技术内幕

书名:深度剖析Apache Dubbo核心技术内幕

作者:翟陆续(加多)著

页数:12,275页

定价:¥89.0

出版社:电子工业出版社

出版日期:2019-12-01

ISBN:9787121376931

PDF电子书大小:110MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注