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

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

作者:翟陆续(加多)

出版社:电子工业

出版年:2019年12月

ISBN:9787121376931

所属分类:亲子家教

书刊介绍

《深度剖析Apache Dubbo核心技术内幕》内容简介

在单体应用时,不同业务模块部署在同一个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框架内部实现原理的人员阅读。
翟陆续(加多),目前就职于淘宝技术,花名加多。热衷并发、异步、反应式编程,熟悉常用开源框架实现原理,微信公众号:技术原始积累。

作品目录


前言
基础篇
第1章:Dubbo基础
1.1、初识Dubbo
1.2、本书Demo详解
1.3、小结
高级篇
第2章:Dubbo框架内核原理剖析
2.1、Dubbo分层架构概述
2.2、Dubbo远程调用细节
2.3、Dubbo的适配器原理
2.4、Dubbo的动态编译原理
2.5、Dubbo增强SPI
2.6、Dubbo使用JavaAssist减少反射调用开销
2.7、小结
第3章:远程服务发布与引用流程剖析
3.1、Dubbo服务发布端启动流程剖析
3.2、Dubbo服务提供方如何处理请求
3.3、Dubbo服务消费方启动流程剖析
3.4、Dubbo服务消费端一次远程调用过程
3.5、小结
第4章:Directory目录与Router路由服务
4.1、Directory目录
4.2、RegistryDirectory的创建
4.3、RegistryDirectory中invoker列表的更新
4.4、小结
第5章:Dubbo消费端服务mock与服务降级策略原理
5.1、服务降级原理
5.2、本地服务mock原理
5.3、小结
第6章:Dubbo集群容错与负载均衡策略
6.1、Dubbo集群容错策略概述
6.2、Failfast
Cluster策略源码分析
6.3、Failsafe
Cluster策略源码分析
6.4、Failover
Cluster策略源码分析
6.5、Failback
Cluster策略源码分析
6.6、Forking
Cluster策略源码分析
6.7、Broadcast
Cluster策略源码分析
6.8、如何基于扩展接口自定义集群容错策略
6.9、Dubbo负载均衡策略概述
6.10、Random
LoadBalance策略源码分析
6.11、RoundRobin
LoadBalance策略源码分析
6.12、LeastActive
LoadBalance策略源码分析
6.13、ConsistentHash
LoadBalance策略源码分析
6.14、如何基于扩展接口自定义负载均衡策略
6.15、小结
第7章:Dubbo线程模型与线程池策略
7.1、Dubbo的线程模型概述
7.2、AllDispatcher源码剖析
7.3、DirectDispatcher源码剖析
7.4、MessageOnlyDispatcher源码剖析
7.5、ExecutionDispatcher源码剖析
7.6、ConnectionOrderedDispatcher源码剖析
7.7、线程模型的确定时机
7.8、如何基于扩展接口自定义线程模型
7.9、Dubbo的线程池策略
7.10、FixedThreadPool源码剖析
7.11、LimitedThreadPool源码剖析
7.12、EagerThreadPool源码剖析
7.13、CachedThreadPool源码剖析
7.14、线程池的确定时机
7.15、如何基于扩展接口自定义线程池策略
7.16、小结
第8章:Dubbo如何实现泛化引用
8.1、服务消费端GenericImplFilter源码分析
8.2、服务提供端GenericFilter源码分析
8.3、小结
第9章:Dubbo并发控制
9.1、服务消费端并发控制
9.2、服务提供端并发控制
9.3、小结
第10章:Dubbo隐式参数传递
10.1、服务消费端AbstractClusterInvoker原理剖析
10.2、服务提供方ContextFilter原理剖析
10.3、小结
第11章:Dubbo全链路异步
11.1、服务消费端异步调用
11.2、服务提供端异步执行
11.3、异步调用与执行引入的新问题
11.4、小结
第12章:本地服务暴露与引用原理
12.1、本地服务暴露流程
12.2、本地服务引用启动流程
12.3、本地服务一次引用流程
12.4、小结
第13章:Dubbo协议与网络传输
13.1、Dubbo协议
13.2、服务消费方编码原理
13.3、服务发布方解码原理
13.4、小结
实践篇
第14章:Dubbo实践
14.1、Arthas的简介与安装
14.2、查看扩展接口适配器类的源码
14.3、查看服务提供端Wrapper类的源码
14.4、查询Dubbo启动后都有哪些Filter
14.5、Demo验证RoundRobin
LoadBalance负载均衡原理
14.6、如何动态获取Dubbo服务提供方地址列表
14.7、根据IP动态路由调用Dubbo服务
14.8、基于CompletableFuture和Netty模拟RPC同步与纯异步调用
14.9、小结

相关推荐

微信二维码