01 | Dubbo源码环境搭建
- Dubbo 架构

Dubbo主要包含了以下几个方面
- registry :注册中心 负责服务地址的注册与查找。 服务的Provider和Consumer 在启动时和注册中心进行交互 注册中心通过长连接感知Provider的存在,在Provider出现宕机的时候,注册中心会立即推送相关事件通知Consumer
- Provider : 服务的提供者。启动时会向注册中心进行注册操作,将自己的服务地址和相关的配置信息封装到URL中,然后注册到注册中心之中。
- Consumer :服务消费者。启动时会向注册中心进行订阅操作,订阅操作会从ZooKeeper这个注册中心之中获取Provider注册时提供的URL信息,获取到Provider URL之后,Consumer会和Provider建立连接,然后根据负载均衡算法选择一个Provider向其发起RPC调用。如果Provider URL发生变更,Consumer会通过之前订阅过程中在注册中心添加的监听器获取最新的Provider信息,并进行相应的调整,比如:断开与宕机Provider之间的连接,并与新的Provider建立(长)连接。并且Consumer会缓存Provider的信息,所以,一旦连接建立,即使注册中心宕机也不会影响已有的连接。
- Monitor : 用于统计服务的调用次数和调用时间。Provider和Consumer在运行过程中在内存中统计调用的次数和调用的时间,定时将统计数据发给监控中心,一般是5分钟发送一次。所以监控中心宕机并不会影响Provider和Consumer的功能,只是会丢失监控数据。
- 搭建Dubbo源码环境,构建一个Demo实例可运行的最简环境
从官方仓库https://github.com/apache/dubboFork到自己的仓库
- 然后执行
git clone - 之后切换分支
git checkout -b dubbo-2.7.7 dubbo-2.7.7 - 执行mvn命令进行编译
mvn clean install -Dmaven.test.skip=true - 转换成IDEA项目
mvn idea:idea // 要是执行报错,就执行这个 mvn idea:workspace
- 深入介绍Dubbo源码中各个核心模块的功能
- 详细分析Dubbo源码自带的三个Demo示例,简单回顾Dubbo的基本用法。

浙公网安备 33010602011771号