Dubbo是阿里巴巴開發(fā)的一個開源的高性能、高可用、可擴展的分布式RPC調用框架,致力于提供高性能和透明化的 RPC 遠程調用服務解決方案。作為阿里巴巴 SOA 服務化治理方案的核心框架,目前已進入 Apache 孵化器項目。在單體應用時,不同業(yè)務模塊部署在同一個JVM 進程內,這時通過本地調用就可以解決不同業(yè)務模塊之間的相互引用;但在多體應用時,不同業(yè)務模塊大多部署到不同的機器上,這時一個高效、穩(wěn)定的RPC框架就顯得特別重要了。Apache Dubbo 作為阿里巴巴開源的分布式RPC 框架,在進入Apache 孵化器項目后現已畢業(yè),相信在開源社區(qū)的不斷貢獻下,它會成為RPC 框架中的佼佼者。本書是對Apache Dubbo 的使用以及內核原理的深度剖析,分為三部分:第一部分為基礎篇,首先從整體上講解使用Dubbo 搭建的系統(tǒng)由哪些模塊組成,各模塊相互之間的調用關系是怎么樣的,然后基于本書的Demo 講解如何使用Dubbo ;第二部分為高級篇,主要講解Dubbo 框架內部實現原理,包含支撐Dubbo框架的適配器類原理、動態(tài)編譯原理、增強SPI 原理、消費端的泛化調用實現原理、消費端異步調用與服務提供端的異步執(zhí)行、Dubbo 框架的線程模型、消費端負載均衡策略、消費端集群容錯策略、并發(fā)控制原理、Dubbo 網絡協議等;第三部分為實踐篇,主要探討如何使用Arthas 和一些Demo 為研究Dubbo 框架原理提供方便,并且講解如何基于CompletableFuture 和Netty 模擬RPC 同步與純異步調用。本書將原理與實踐相結合,由淺入深、通俗易懂地講解了Dubbo 框架的使用及內核原理實現,適合Java 中高級研發(fā)工程師,以及對RPC 框架技術感興趣,希望探究RPC 框架內部實現原理的人員閱讀。