dubbo项目结构

1.概述

首先dubbo项目是一个基于maven 的项目 , 我们会发现模块非常多


dubbo模块.png

2.模块分包

dubbo模块分包.png

2.dubbo-common模块

dubbo-common 公共逻辑模块:包括 Util 类和通用模型。

dubbo-common.png

dubbo-remoting 远程通信模块:提供客户端和服务端的通信功能

dubbo-remoting模块.png
  • dubbo-remoting-zookeeper: 是zookeeper 的客服端通信,负责服务端和消费方与zookeeper进行通信 。
  • dubbo-remoting-api: 定义服务方和消费方之间的通信接口
  • dubbo-remoting-grizzly ,基于 Grizzly 实现。
  • dubbo-remoting-http ,基于 Jetty 或 Tomcat 实现。
  • dubbo-remoting-mina ,基于 Mina实现。
  • dubbo-remoting-netty ,基于 Netty 3 实现。
  • dubbo-remoting-netty4 ,基于 Netty 4实现。
  • dubbo-remoting-p2p ,P2P 服务器。注册中心 dubbo-registry-multicast 项目 的使用该项目
    dubbo默认使用的也是生产中使用的最多的通信方式是netty , 所以我们只需看dubbo-remoting-api + dubbo-remoting-netty4 以及和zk 的通信模块 dubbo-remoting-zookeeper

dubbo-rpc

远程调用模块:抽象各种协议,以及动态代理,只包含一对一的调用,不关心集群的管理,dubbo-rpc 是整个dubbo的一个核心模块。

dubbo-rpc模块.png
  • dubbo-rpc-api :抽象各种协议以及动态代理,实现了一对一的调用。
    其他模块则提供对应的协议实现 。在 《用户指南 —— 协议参考手册》 中,可以看到每种协议的介绍。

dubbo-cluster

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

dubbo-clsuter.png

dubbo-registry

注册中心模块:基于注册中心下发地址的集群方式,以及对各种注册中心的抽象。

注册中心.png

dubbo-registry-api : 注册中心的接口定义 , 其他模块则是各种对注册中心的实现《用户指南 —— 注册中心参考手册》 有详细介绍各种注册中心

dubbo-monitor

监控模块: 统计调用次数,时间,拓展参见 《Dubbo 开发指南 —— 监控中心扩展》

dubbo-config

配置模块 : 是dubbo对外API , 用户通过config使用dubbo

dubbo-config.png

dubbo-config-api : 实现了 API 配置属性配置 功能。
dubbo-config-spring :实现了 XML 配置注解配置 功能。

dubbo-container

dubbo容器模块 : 以简单的main 方法启动容器


dubbo容器.png

dubbo-filter

过滤器模块 :提供了内置过滤器

dubbo-filter.png

dubbo-filter-cache : 缓存过滤器 , 拓展参考 《Dubbo 用户指南 —— 结果缓存》《Dubbo 开发指南 —— 缓存拓展》 文档。
dubbo-filter-validation :参数校验过滤器 , 拓展参考 《Dubbo 用户指南 —— 参数验证》《Dubbo 开发指南 —— 验证扩展》 文档。

dubbo-plugin

插件模块 : 提供了内置插件
dubbo-qos : 提供在线运维命令 ,拓展参考 《Dubbo 用户指南 —— 新版本 telnet 命令使用说明》《Dubbo 开发指南 —— Telnet 命令扩展》 文档。

hessian-lite

dubbo对hessian2序列化的部分精简, 改进。

dubbo-demo

dubbbo 一个快速启动的demo

dubbo-test

dubbo 测试模块

maven-bom

dubbo-dependencies-bom :定义dubbo 依赖第三方库的版本号 , 在parent 中有引入
dubbo-bom :定义dubbo各模块的版本号

bom依赖.png

dubbo-all

dubbo/all/pom : 定义了 Dubbo 的打包脚本。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1:RPC协议扩展,封装远程调用细节 扩展接口: com.alibaba.dubbo.rpc.Protocol c...
    漫步_2310阅读 2,224评论 0 11
  • 本文转自:Dubbo架构设计详解,原作者是:时延军 Dubbo是Alibaba开源的分布式服务框架,它最大的特点是...
    程序熊大阅读 3,477评论 3 45
  • 文/树鲸 15年的阅读状态: 传记2,随笔4,短篇集5,科幻11,推理11,长篇16,总计49本。 和14年的阅读...
    树鲸阅读 3,078评论 18 82
  • 清明思 文 /若伊 梦里哭了一夜 醒来 眼见一双颤动的睫毛下 满是 挂满忧伤的 心碎 清明 文 / 二月鸟 ——回...
    默墨舞文阅读 572评论 0 4
  • 女孩说我叫诗莹。 我叫李昂。 你带我走好不好? 可以。 接着来了一个拿刀的待卫,把李昂砍成半条命了。 接着诗莹着急...
    青柠味阅读 72评论 0 0