深入浅出Dubbo——模块功能简介

 

本篇介绍一下Dubbo源码中各package的功能

 

这张图是Dubbo官网的模块图

640?wx_fmt=jpeg

 

dubbo-common模块

dubbo-common 包括公共的工具类和通用模型。

640?wx_fmt=png

从dubbo-common模块中的包名,就可以看出每个包的具体功能,这里不再展开了。

在后面分析其他源码的时候,会对涉及到的工具类进行要简要说明。

dubbo-registry模块

dubbo-registry 注册中心模块是对各种注册中心的抽象。

640?wx_fmt=png

如上图所示,dubbo-registry 模块中有很多子模块。dubbo-registry-api 模块这个模块比较重要,抽象了服务的注册中心,其中实现了一些公共的行为,实现模块只需要针对特定的服务发现组件,实现特定的行为即可,这是典型的“模板方法”模式。

 

dubbo-registry 模块中其余的子模块都是 dubbo-registry-api 模块的实现。每个子模块涉及到的服务发现组件,通过模块名就能看出来。例如,dubbo-registry-zookeeper 模块是针对 Zookeeper 的实现,dubbo-registry-etcd3 模块是针对etcd的实现。

dubbo-rpc模块

dubbo-rpc模块是对各种协议的抽象,并且提供了动态代理的能力。rpc模块只关心只包含一对一的调用,而不关心集群的管理。

640?wx_fmt=png

dubbo-rpc-api 模块是对各个协议的公共行为以及动态的抽象。

其他模块继承了 dubbo-rpc-api 模块,并针对具体协议进行了实现。

dubbo-remotiing模块

dubbo-remoting 模块是相当于 rpc 协议的底层实现。

640?wx_fmt=png

dubbo-remoting-api 模块同样是一层抽象,其他模块继承了它,并依赖不同RPC框架进行实现。

dubbo-cluster 模块

dubbo-cluster 模块:将多个服务提供方伪装为一个提供方,包括:负载均衡, 容错,路由等,集群的地址列表可以是静态配置的,也可以是由注册中心下发。

 

dubbo-cluster 集群模块

dubbo-config 模块

dubbo-config 模块:是 Dubbo 对外的 API,用户通过 Config 使用Dubbo,隐藏 Dubbo 所有细节。

640?wx_fmt=png

dubbo-container 模块

dubbo-container 模块:是一个 Standlone 的容器,以简单的 Main 加载 Spring 启动。

dubbo-filter 模块

dubbo-filter模块提供了一些过滤器

dubbo-monitor 模块

dubbo-monitor 模块主要用于实现监控的,用于统计服务调用次数、调用时间的、调用链跟踪的服务。

dubbo-serialization

模块

dubbo-serialization 模块中封装了各类序列化框架的支持实现。

640?wx_fmt=png

 

640?wx_fmt=png

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值