dubbo项目结构

作者: think91 | 来源:发表于2018-11-04 16:16 被阅读0次

    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 的打包脚本。

    相关文章

      网友评论

        本文标题:dubbo项目结构

        本文链接:https://www.haomeiwen.com/subject/idvkxqtx.html