Dubbo源码分析(一):Dubbo源码的结构概述

本文详细介绍了Dubbo源码的结构,包括各个模块的功能及其相互之间的依赖关系。具体涉及公共逻辑、远程通信、远程调用、集群管理、注册中心、监控及配置等方面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.dubbo源码的结构



Dubbo源文件主要包含以上这么多包,其中: 
       dubbo-common 公共逻辑模块,包括Util类和通用模型。 
       dubbo-remoting 远程通讯模块,相当于Dubbo协议的实现,如果RPC用RMI协议
则不需要使用此包。 
dubbo-rpc 远程调用模块,抽象各种协议,以及动态代理,只包含一对一的调用,
不关心集群的管理。 
       dubbo-cluster 集群模块,将多个服务提供方伪装为一个提供方,包括:负载均衡, 容
错,路由等,集群的地址列表可以是静态配置的,也可以是由注册中心下发。 
       dubbo-registry 注册中心模块,基于注册中心下发地址的集群方式,以及对各种注
册中心的抽象。 
      dubbo-monitor  监控模块,统计服务调用次数,调用时间的,调用链跟踪的服务。 
      dubbo-config  配置模块,是Dubbo对外的API,用户通过Config使用Dubbo,隐藏
Dubbo所有细节。 
      dubbo-container 容器模块,是一个Standlone的容器,以简单的Main加载Spring
启动,因为服务通常不需要Tomcat/JBoss等Web容器的特性,没必要用Web容器去加
载服务。 
整体上按照分层结构进行分包,与分层的不同点在于: 

container为服务容器,用于部署运行服务,没有在层中画出。 

protocol层和proxy层都放在rpc模块中,这两层是rpc的核心,在不需要集群时(只

有一个提供者),可以只使用这两层完成rpc调用。 

transport层和exchange层都放在remoting模块中,为rpc调用的通讯基础。 

serialize层放在common模块中,以便更大程度复用。 

下面是更详细的Project关系图,依赖关系线有点乱。整个模块是从上到下传递依赖的。 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值