深入理解Apache Dubbo与实战(博文视点出品)pdf下载pdf下载

深入理解Apache Dubbo与实战(博文视点出品)百度网盘pdf下载

作者:
简介:本篇主要提供深入理解Apache Dubbo与实战(博文视点出品)pdf下载
出版社:
出版时间:2019-07
pdf下载价格:9.00¥


预览


内容介绍

产品特色

编辑推荐

适读人群 :本书适合对Dubbo有一定了解、对Dubbo框架感兴趣的读者,也适合想深入理解Dubbo原理的资深开发者阅读。

与官方文档不同,官方文档侧重讲解使用方法,《深入理解Apache Dubbo与实战》主要侧重于详细解读Dubbo框架工作原理和底层机制,并结合少量核心源码进行讲解。在原理的基础上,展示一些动手扩展Dubbo特性的实战场景,并对Dubbo的发展方向Dubbo Mesh做了一些探索。

内容简介

《深入理解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原理的资深开发者阅读。

作者简介

商宗海,花名诣极,Apache Dubbo PMC。曾就职于阿里巴巴、有赞,担任Dubbo框架技术负责人,长期活跃在Dubbo社区。现就职于蚂蚁金服中间件团队,负责sofa-rpc和云原生方向的产品研发。

林琳,花名景竹,曾就职于华软集团、递四方等公司,担任技术经理、高级架构师等职位。现就职于蚂蚁金服,负责工程平台架构工作。

精彩书评

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编程思想》作者

精彩书摘

序一

近年来,随着业务规模的发展和复杂度的增加,传统的单体应用已经很难适应业务迭代的诉求,越来越多的公司开始进行服务化的改造。很高兴看到Apache Dubbo被许多公司采用,作为服务化改造的基础架构进行演进。这里面就包括了许多互联网公司、国字头的大型企业,以及金融行业的巨头公司。Apache Dubbo因为良好的设计和扩展性受到许多开发者的欢迎,然而当开发者需要深入了解Dubbo底层的架构设计和实现的时候,往往会有些不知所措。网上也有很多爱好者撰写的源码分析等文章,虽有所有启发和裨益,但总觉得不够成体系。令人遗憾的是,市面上始终缺乏一本完整的、体系化的对Apache Dubbo进行深入原理剖析的书。

本书的出现填补了这一空白,本书由浅入深,娓娓道来。既有对Dubbo基本概念的讲解、底层原理的分析,同时又不乏生动的实战内容。作为进阶的内容,对扩展点、过滤器,以及Dubbo的高级特性,都有深入浅出的介绍。非常适合想了解Dubbo,对Dubbo内部实现感兴趣的读者阅读。

我和本书作者因为共同参与Dubbo社区而认识,彼时Dubbo刚刚加入Apache基金会进行孵化。在参与社区开发的过程中,经常有过深入的交流,在此过程中,本书作者所展现出来的对Dubbo内核机制透彻的理解,以及对细节的准确把握,让我受益匪浅。正式因为本书作者出色的贡献,他也成为Dubbo加入Apache孵化器之后首个committer(提交者,对代码具有提交权限),后续更是成为首个PMC Member(项目管理委员会成员,对项目发展具有决定性的投票权)。由他提笔来撰写本书,我认为再合适不过。在阅读本书的过程中,我收获颇丰。

工欲善其事,必先先利器。希望更多的读者因为本书而受益,也希望有更多的人阅读本书之后,了解Dubbo,参与到社区中,一起把社区发展得越来越好。

写在Dubbo从Apache基金会毕业之际。

张乎兴,阿里云技术专家,Apache Member,Apache Dubbo/Tomcat PMC Member


序二

过去十多年互联网产业的高速发展,在给社会带来深刻变革的同时,也催生了服务架构的演进:从传统的单体应用到面向服务的SOA,再到现今主流的微服务架构,而Apache Dubbo就是微服务领域中的先行者和佼佼者。

Apache Dubbo是阿里巴巴于于2011年开源的一款高性能Java RPC框架,开源伊始就在业界产生了很大的影响,被大量公司广泛使用,甚至在很多公司自研的RPC框架中也能看到不少Dubbo的影子,可以说Dubbo在国内服务化体系演进过程中扮演了一个非常重要的角色。虽然中间经历了几年时间的沉寂,不过2017年阿里巴巴又重启了对Dubbo的开源维护,受到了社区的广泛欢迎,社区活跃度也随之迅速提升,Dubbo也正在从一个微服务领域的高性能RPC框架,逐步演变为一个完整的微服务生态。

之前由于工作关系,对Dubbo有过比较深入的研究,在阅读Dubbo的源码过程中,深深体会到了作者的匠心设计和深厚功底。我们知道服务往往是一家公司技术体系中最核心的部分,是整个业务的基石,所以作为一款涵盖了服务交互全过程的通用RPC框架,就必须能非常简单、无侵入地支持业务对服务调用过程中的各个阶段做扩展和定制,比如通信协议、序列化格式、路由策略、负载均衡、监控运维等。而Dubbo通过微内核设计、SPI扩展的方式完美地解决了这一难题,不管是Dubbo自身的特性,还是业务方的扩展,都统一通过SPI来实现,在Dubbo内核面前都是“一等公民”,从而保证了框架自身的可持续性和稳定性。有特殊需求的业务或公司可以在不修改一行Dubbo源码的情况下加载自己的扩展或接入自己的产品和运维体系,这一点非常值得我们学习。

和诣极认识也是源于Dubbo,他是Apache Dubbo项目的PMC,为Dubbo贡献了很多有价值的特性,如HTTP2协议、etcd注册中心等,现在有幸成为同事,对他也有了更深的了解。在我看来,他是一个很纯粹的技术人,熟读众多开源框架的源码并对其原理了然于胸,对技术也充满了热情,能在工作非常饱和的情况下坚持完成本书的写作,可见一斑。受其热情感染,所以当收到邀请为本书作序时,我也是毫不犹豫地就答应了。

收到书稿后第一时间细细通读了一遍,本书作为第一本体系化讲解Apache Dubbo的书籍,深入浅出地解释了Dubbo的工作原理,配以源码级解析,向读者展现了一款优秀的分布式中间件的设计用心和实现细节,非常适合有志于成为优秀架构师的技术爱好者细细阅读和品味。同时本书在Dubbo的协议设计、编解码原理、线程模型等方面也做了深度剖析,使读者不仅知其然也能知其所以然,有助于理解分布式环境下的服务通信范式,对问题排查也会有很大益处。所以在此向大家推荐本书,相信不管是初学者还是有多年经验的资深工程师,通过阅读本书,都会有所收获。

宋顺,蚂蚁金服高级技术专家,开源配置中心Apollo作者

前言/序言

本书的由来


在Apache Dubbo(以下简称Dubbo)重新开源之前,Dubbo已经被很多公司广泛用于生产环境并获得了良好的反馈,很多公司内部也会建立私有分支自己维护,其中Dubbox就是基于Dubbo分支进行扩展并二次维护的。重新开源后,社区维护的Dubbo版本进行了大量“bug fix”和特性支持,收到了大量Dubbo用户的支持和参与。编写本书的想法是在开源后提出来的,因此本书取名《深入理解Apache Dubbo与实战》。


我最早接触Dubbo是2015年在参与云基础设施建设和微服务框架搭建时,那时的Dubbo基本是分布式系统的不二之选。我在使用过程中遇到了不少问题,不得不通过调试Dubbo源码来解决。在源码调试过程中,我逐渐理解Dubbo的设计理念,越发惊叹其架构设计的巧妙,正所谓:优秀的设计万里挑一。


后来我加入另外一家公司担任架构师,在基础架构组负责中间件与框架的研发,也是基于Dubbo等框架做二次开发。此时,我与本书另一位作者诣极成为同事,我们志趣相投,也为编写本书埋下了伏笔。


2017年,Dubbo经历了数年的停滞后,终于又重启维护。我还依稀记得阿里巴巴公司宣布的那天诣极的兴奋状,诣极是首批投入Apache Dubbo开源工作中去的开发者,期间为Apache Dubbo贡献了众多特性,如HTTP 2、etcd注册中心等,现在已经成为Apache Dubbo PMC。


Dubbo在重启维护后,短时间内有了大量的更新。此时我正就职于蚂蚁金服,每天苦于繁重的CRUD。我发现市面上没有一本系统讲解Dubbo的书籍,Dubbo相关的资料大都是一些博客文章,并且内容也相对陈旧。于是我“怂恿”诣极与我一起写这本书,作为这些年来工作的一个总结,他也欣然答应。


然后就是历时半年的写作过程,一波三折。中途有一些朋友加入,又因为各种不可抗拒的原因退出。我和诣极平时的工作都非常饱和,又要关注开源工作,常常焦头烂额。道虽迩,不行不至;事虽小,不为不成。时间是一点一点挤出来的,最终我们还是坚持完成了本书,并且没有偏离原计划太多。由于时间紧迫和能力有限,本书的内容难免有错漏,读者的勘误可以发送到以下电子邮箱:


yiji@apache.org或315157973@qq.com。


面向的读者


由于Dubbo重启维护后,官方的使用文档已经非常详细,本书如果再讲使用方法就没有太多的意义,所以一开始就按源码解析、设计原理说明的方向定位,因此需要读者有一定的基础。涉及源码的讲解,注定会有很多地方枯燥乏味,我们在编写的时候也尽量用自己的语言去提炼总结,让读者可以少看代码。


在开始动笔编写本书时,Apache Dubbo 2.7正在开发中,考虑到代码的稳定性,我们最终决定基于公开发布的2.6.5版本(release)来写。当本书快完成的时候,Apache Dubbo 2.7正式发布了。因此,本书的内容并不是基于最新的代码的,写书的速度永远比不上框架更新的速度,也希望读者能够谅解。


本书内容


第1章主要介绍Dubbo的简史、后续的规划和整体架构大图。


第2章主要介绍Dubbo的环境配置和基于Dubbo开发第一款应用程序。


第3章主要介绍Dubbo内置的常用注册中心的实现原理。


第4章主要介绍Dubbo扩展点加载的原理和实现。


第5章主要介绍Dubbo的配置解析、服务暴露、服务消费和优雅停机的机制。


第6章主要介绍Dubbo的RPC协议细节、编解码和服务调用的实现原理。


第7章主要介绍Dubbo的集群容错、路由和负载均衡机制。


第8章主要介绍Dubbo扩展点的相关知识。


第9章主要介绍Dubbo高级特性的实现和原理。


第10章主要介绍Dubbo过滤器的实现原理。


第11章主要介绍Dubbo中新增的etcd3注册中心的实战内容。


第12章主要介绍Dubbo服务治理平台的相关知识。


第13章主要介绍Dubbo的未来生态和Dubbo Mesh相关知识。


致谢


首先感谢我的领导与同事,也感谢我的团队,你们给了我很大的帮助。


然后要感谢我妻子,在我写作期间,她承担了家里的大小事务,让我可以有更多的时间投入写作。如果没有妻子的支持,那么这本书我肯定是无法完成的。