
翟陆续
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 框架内部实现原理的人员阅读。
两个半月前第一次读这本书的时候觉得写得太草,跟不上。(可能一开始spi部分消耗了很多精力,那段时间状态也不好) 几天前重新读,意外发现能看懂了,而且觉得作者写得很细,该讲到的源码都讲到了,能读懂而且获益匪浅。 这本书从spi开始讲,到服务提供者启动的过程,启动netty,注册到zookeeper,生成代理。到消费者启动的过程,zookeeper notify回来的invoker放进一个口袋,用loadbalance找一个用,然后connect。dubbo的核心其实就是服务治理的这部分。然后继续讲dubbo的各种filter,线程模型,异步等。慢慢看完会觉得收获很大… 大神们写框架就好像在构造一件艺术品,每个地方都透露着设计的痕迹,而我显然还不能领会全局的设计……不过暂时也够用了😂
dubbo作为一个优秀的rpc框架,结构设计和代码组织都很工整,作为源码研究来说,复杂度也还可以。本书算是花心思把源码方方面面分析透了,值得配合着研究学习。
阿里大佬写的牛匹的库配合阿里大佬写的牛匹的书,这学起来它不香吗? 老实说,Dubbo 的源码确实挺复杂的,毕竟做了太多的事情。
包含dubbo的架构和调用链路,以及代码例子。
市面上讲dubbo的书并不多,这是其中一本。结合源码的方式讲解了dubbo的各个组件,逻辑清晰,还提到了dubbo的异步化服务,值得一读。
读了两遍,第一遍比较简单的看了下,读完之后大概对dubbo的整体架构以及各方面功能的实现有了大致的了解,第二遍是边看书边在源码中跑单元测试打断点中看完的,第二遍读完后对dubbo才有了更加细致的认识。 dubbo体系太过庞大,仅凭本书讲解的内容想要对很多细节层面的实现有深层次的认识是不可能的,只有跟着书中的讲解加上程序断点一步一步调试才能对服务注册、服务发现、SPI、负载均衡以及整个rpc请求全流程有深刻的认识。 个人看来,想要充分掌握dubbo,需要先从抽象层面理解清楚几个关键接口的设计,如Invoker,Filter、LoadBalance、Exporter、Protocol等接口的设计,理解每个接口为什么要这么设计,为什么接口中需要这几个方法,为什么方法的入参是这几个对象,在脑中理了一遍之后,跟着书中的章节一个一个的拿着源码中相应章节的单元测试打断点过一遍流程,这样就能对dubbo的核心功能有很深的认识了,当然,打断点过流程是一个枯燥却又不能急躁的过程,由于有些代码是动态生成的,以及框架中用了大量装饰器模式,所以过流程的时候难免会有一些不理解,这时候也是深刻认识dubbo最重要的时候,慢慢看,慢慢走,不急躁,把每个重要变量的来源搞清楚,把重要的逻辑理清楚,多看几遍之后会有醍醐灌顶的感觉,不仅仅是dubbo,任何设计优秀的框架都可以用这种方式领悟。
深入浅出地从基本用法讲起,然后逐一剖析了Dubbo的架构、扩展、服务的注册与发现、路由、集群、线程、协议与网络等方方面面。 基本上涵盖了Dubbo这个服务框架最主要的部分。对于想深入到Dubbo源码的读者有着相当大的帮助。 最后,作者介绍了如何使用Arthas来帮助理解Dubbo的工作,如何利用Dubbo的SPI扩展机制来实现自定义的负载均衡策略。
先说优点:dubbo demo使用的最佳实践,适用于一个想了解dubbo整体流程,并将之跑起来,可以生产,可以消费。这个完全没有问题的。 将各个流程梳理的都比较清晰,阐述流程本身是什么 缺点:没有阐述流程为什么这样安排。深度略浅。
会有一个比较系统的了解,比官方文档还是要细致。比博客来说更正确。
带着问题来看的,看后对dubbo的整体层次有加深,基本原理讲的中规中矩,平时应用时可以做参考手册用来开拓思路。