特别说明,基于2.7.0
下面的内容主要来自官网,可以移步官网
图例说明:
模块说明:
公共逻辑模块:包括 Util 类和通用模型。 项目代码结构如下
远程通讯模块:相当于 Dubbo 协议的实现,如果 RPC 用 RMI协议则不需要使用此包。
dubbo-registry-multicast
项目的使用该项目。远程调用模块:抽象各种协议,以及动态代理,只包含一对一的调用,不关心集群的管理。 官方性能报告地址(基于2.0版本,不是最新):dubbo性能测试报告
集群模块:将多个服务提供方伪装为一个提供方,包括:负载均衡, 容错,路由等,集群的地址列表可以是静态配置的,也可以是由注册中心下发。
注册中心模块:基于注册中心下发地址的集群方式,以及对各种注册中心的抽象。
监控模块:统计服务调用次数,调用时间的,调用链跟踪的服务。
配置模块:是 Dubbo 对外的 API,用户通过 Config 使用Dubbo,隐藏 Dubbo 所有细节。 dubbo也提供了四种配置方式,
dubbo-config-api:实现了API配置和属性配置的功能。 dubbo-config-spring:实现了XML配置和注解配置的功能
容器模块:是一个 Standlone 的容器,以简单的 Main 加载 Spring 启动,因为服务通常不需要 Tomcat/JBoss 等 Web 容器的特性,没必要用 Web 容器去加载服务。