前言

Dubbo是一个高性能、轻量级的开源Java RPC(远程过程调用)框架,使得应用可以通过高性能的RPC实现服务的输出和输入功能,并且可以和Spring框架无缝集成。它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。Dubbo被定义为面向云原生的下一代RPC服务框架。

Dubbo 3.0基于Dubbo 2.x演进而来,在保持原有核心功能特性的同时,Dubbo3在易用性、超大规模微服务实践、云原生基础设施适配、安全性等几大方向上进行了全面升级。

使用Dubbo的第一步就是定义Dubbo服务,服务在Dubbo中的定义就是完成业务功能的一组方法的集合,可以选择使用与某种语言绑定的方式定义,如在Java中Dubbo服务就是有一组方法的Interface接口,也可以使用语言中立的Protobuf Buffers IDL定义服务。

Dubbo的主要核心部件包括:

  1. 注册中心:例如Zookeeper,eureka,consul,etcd等,用于服务的注册和服务事件发布和订阅。注册中心的主要作用是动态加入,服务提供者可以动态的把自己暴露给其他消费者(服务提供者启动服务会将自己的ip地址与端口号注册到注册中心,消费者在注册中心即可找服务提供者而不需要消费者在自己的服务中进行消费者配置)。此外,注册中心还支持动态发现,消费者可以动态感知新的配置、路由规则以及新的服务提供者,无需重启服务器。注册中心还支持动态调整,新参数会自动更新到所有相关的服务节点。
  2. 服务提供者(Provider):负责暴露服务方称之为“服务提供者”。
  3. 服务消费者(Consumer):调用远程服务方称之为“服务消费者”。
  4. 监控中心:主要负责监控统计调用次数和调用时间。

这些部件共同构成了Dubbo的核心。如需获取更多关于Dubbo的信息,建议咨询专业技术人员或者查看Dubbo官网。

下面我们具体谈谈通过研究Dubbo框架的实现原理,到底能学到什么。

从基础、高级和实践三部分给大家进行讲解:

需要获取的小伙伴可以跳转文章末尾获取此资料

第一部分基础篇

首先从整体上讲解使用Dubbo搭建的系统由哪些模块组成,各模块相互之间的调用关系是怎么样的,然后基于本书的Demo讲解如何使用Dubbo

9e0cb71152280d386c2bb5938d66449f.jpeg14e71daf2e9ccdfe4876db5c1f9bd54c.jpeg

第1章Dubbo基础

097907200b93801d40febc2001f604b2.jpeg

第二部分高级篇

主要讲解Dubbo框架内部的实现原理,包含支撑Dubo框架的适配器类原理、动态编译原理、增强SPI原理、消费端的泛化调用实现原理、消费端异步调用与服务提供端的异步执行、Dubbo框架的线程模型、消费端负载均衡策略、消费端集群容错策略、并发控制原理、Dubbo 网络协议等

a80a9d85a48c08ba1c9c88d14d0aeb28.jpeg86019e4dbbbabf2698fd523b59ad3cbf.jpeg1c210a5de0d353c854b5d6f96a2923b4.jpeg94c847b8ba55365a28531a3f834d99bc.jpegf055d8db88de2e47406c958169d408f1.jpeg

第2章Dubbo 框架内核原理剖析

6da274546a6c7062c4d9586743af94e7.jpeg

第3章远程服务 发布与引用流程剖析

29e1d7982afbf6e73df822a4a4d0377e.jpeg

第4章Directory 目录与Router路由服务

9908f7310c6237f5f30ceb3db2c3aa5c.jpeg

第5章Dubbo消费端服务mock与服务降级策略原理

9b1cbdef90bfa646216bd849cf608c1a.jpeg

第6章Dubbo 集群容错与负载均衡策略

295926802cac92d976bf7f089cc8e634.jpeg

第7章Dubbo线程模型与线程池策略

07266c93c171c29171b4c3309f3de1d9.jpeg

第8章Dubbo如何实现泛化引用

93c0f2699180edb23bf5df791f7276c7.jpeg

第9章Dubbo并发控制

e3cb8378ccfef22d2feb50f8998aa0b9.jpeg

第10章Dubbo 隐式参数传递

8239e15d7f7458375d689ff6f06611f8.jpeg

第11章Dubbo 全链路异步

5129cc30f1383b0944d9538a0a5e30c3.jpeg

第12章本地服务暴露与引用原理

2bd63b307e1a7322b1af33167c982828.jpeg

第13章Dubbo 协议与网络传输

5f909f8a9cfad691f952193297e58f91.jpeg

第三部分实践篇

主要探讨如何使用Arthas和一些Demo来为研究Dubbo框架原理提供方便,并且讲解如何基于CompletableFuture和Netty模拟RPC同步与纯异步调用。

0de77fc8177734c74fd47ceea5641b80.jpeg

第14章Dubbo实践

5176410008e9d9d938af0a37bde39e1e.jpeg

文末

如果你需要完整版PDF学习资源请扫描下方名片100%获取免费下载方式!

👇👇点击下方名片👇👇

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐