目录
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文件。
好文推荐
发表评论