目录

1.dobbo-registry 注册中心模块

2.dubbo-cluster 集群模块

3.dubbo-common 公共逻辑模块

4.dubbo-config 配置模块

5.dubbo-rpc 远程调用模块

6.dubbo-remoting 远程通信模块

7.dubbo-container 容器模块

8.dubbo-monitor 监控模块

9.dubbo-demo 示例模块

10.dubbo-filter 过滤器模块

11.dubbo-plugin 插件模块

12.dubbo-serialization 序列化模块

13.dubbo-test 测试模块

注:本项目结构是基于dubbo-2.6.10-release版本。

1.dobbo-registry 注册中心模块

本模块主要介绍了基于注册中心下发地址的集群方式,以及对各种注册中心的抽象。各个子模块封装了dubbo所支持的注册中心的实现。目前dubbo的注册中心实现有Multicast注册中心,Zookeeper注册中心,Redis注册中心,Simple注册中心,nacos注册中心。

1.1.dubbo-registry-api: 抽象了注册中心的注册和发现,实现了一些公用的方法,让子类只关注部分关键方法。

1.2.dubbo-registry-default: Simple注册中心实现。

1.3.dubbo-registry-multicast: Multicast注册中心实现。

1.4.dubbo-registry-nacos: nacos注册中心实现。

1.5.dubbo-registry-redis: Redis注册中心实现。

1.6.dubbo-registry-zookeeper: Zookeeper注册中心实现。

2.dubbo-cluster 集群模块

本模块主要封装了dubbo集群相关方面的内容,例如负载均衡,容错,路由等内容。

1.configurator包:dubbo配置包,根据统一的配置规则生成配置信息。

2.directory包:directory代表了多个Invoker,就是它的值会随着注册中心的服务变更推送而变化。 这里介绍一下Invoker, Invoker是Provider的一个调用Service的抽象,Invoker封装了Provider地址以及Service接口信息。

3.loadbalance包:封装了负载均衡的实现。

4.merger包:封装了合并返回结果,分组聚合到方法,支持多种数据结构类型。

5.router包:封装了路由规则的实现。

6.support包:封装了各类Invoker和cluster,包括集群容错模式和分组聚合的cluster以及相关的Invoker。

3.dubbo-common 公共逻辑模块

本模块主要封装了dubbo项目中一些通用的方法,通用模型就是贯穿整个项目的统一格式的模型,比如URL等。

4.dubbo-config 配置模块

本模块封装了dubbo对外的API,用户通过Config使用Dubbo,隐藏Dubbo所有细节。其中dubbo目前提供了四种配置方式,包括XML配置, 属性配置,API配置,注解配置。

1.dubbo-config-api: 实现了API配置和属性配置的功能。

2.dubbo-config-spring: 实现了XML配置和注解配置的功能。

5.dubbo-rpc 远程调用模块

本模块服务远程调用所涉及的各种协议和动态代理的抽象,dubbo提供了许多的协议实现,不过官方推荐是使用dubbo自己的协议。

1.dubbo-rpc-api: 抽象了动态代理和各类协议,实现一对一的调用。

2.dubbo-rpc-dubbo: 基于dubbo协议的实现。

3.dubbo-rpc-hessian: 基于hessian协议的实现。

4.dubbo-rpc-http: 基于http协议的实现。

5.dubbo-rpc-injvm: 基于injvm协议的实现。

6.dubbo-rpc-memcached: 基于memcached协议的实现。

7.dubbo-rpc-redis: 基于redis协议的实现。

8.dubbo-rpc-rest: 基于rest协议的实现。

9.dubbo-rpc-rmi: 基于rmi协议的实现。

10.dubbo-rpc-thrift: 基于thrift协议的实现。

11.dubbo-rpc-webservice: 基于webService协议的实现。

6.dubbo-remoting 远程通信模块

本模块封装了多种客户端和服务端通信功能,比如基于Grizzly,Netty,Tomcat等等,RPC用除了RMI的协议都用到此模块。

1.dubbo-remoting-api: 定义了客户端和服务端的接口。

2.dubbo-remoting-grizzly: 基于Grizzly的实现。

3.dubbo-remoting-http: 基于Jetty或Tomcat的实现。

4.dubbo-remoting-mina: 基于Mina的实现。

5.dubbo-remoting-netty: 基于Netty3的实现。

6.dubbo-remoting-netty4: 基于Netty4的实现。

7.dubbo-remoting-p2p: 基于P2P的实现,注册中心multicast中会用到这个服务器使用。

8.dubbo-remoting-zookeeper: 基于zookeeper的实现。

7.dubbo-container 容器模块

本模块封装了是一个standlone容器,以简单的Main加载Spring启动,因为服务通常不需要Tomcat/JBOSS等Web容器的特性, 没必要用Web容器去加载服务。

1.dubbo-container-api: 定义了Container接口,实现了服务加载的Main方法。

2.dubbo-container-log4j: 基于log4j的实现。

3.dubbo-container-logback: 基于logback的实现。

4.dubbo-container-spring: 基于spring的实现。

8.dubbo-monitor 监控模块

本模块主要封装了对dubbo服务的监控通用方法,例如统计服务调用次数,调用时间等。

1.dubbo-monitor-api: 定义了monitor相关的接口,实现了监控所需要的过滤器。

2.dubbo-monitor-default: 实现了dubbo监控相关的功能。

9.dubbo-demo 示例模块

本模块是封装了dubbo快速启动示例,其中包含了服务提供方和调用方,注册中心默认用的是multicast,用XML配置方法。

1.dubbo-demo-api: 定义了DemoService服务。

2.dubbo-demo-consumer: 实现了服务消费方功能。

3.dubbo-demo-provider: 实现了服务提供方功能。

10.dubbo-filter 过滤器模块

本模块封装了dubbo已经实现了的内置的过滤器。

1.dubbo-filter-cache: 提供缓存过滤器。

2.dubbo-filter-validation: 提供参数验证过滤器 。

11.dubbo-plugin 插件模块

本模块封装了dubbo已经实现了的内置的插件。

1.dubbo-qos: 提供了在线运维的命令。

12.dubbo-serialization 序列化模块

本模块封装了对各类序列化框架的实现。

1.dubbo-serialization-api: 定义了Serialization的接口以及数据输入输出的接口。

2.dubbo-serialization-fastjson: 基于fastjson实现。

3.dubbo-serialization-fst: 基于fst实现。

4.dubbo-serialization-hessian2: 基于hessian2实现。

5.dubbo-serialization-jdk: 基于jdk实现。

6.dubbo-serialization-kryo: 基于kryo实现。

13.dubbo-test 测试模块

本模块封装了针对dubbo的测试用例,其中包括性能测试,兼容性测试等功能。

1.dubbo-test-benchmark: 对性能的测试。

2.dubbo-test-compatibility: 对兼容性的测试,对Spring3兼容性测试。

3.dubbo-test-examples: 测试所使用的示例 。

4.dubbo-test-integration: 测试所需的pom文件。

好文推荐

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: