前言--相信很多同学都同学都听说过Duboo并且使用过Dubbo,但像我一样未阅读过其源码的应该也不少.这次我会边阅读源码边将我的理解写下来,有什么问题希望大家能指出,共同进步.
Dubbo源码-HelloWord
GitHub:https://github.com/apache/incubator-dubbo
中文用户手册:http://dubbo.io/books/dubbo-user-book/
解析源码需做好如下准备:
- 下载GitHub上的项目源码,拉到本地导入IDE,编译后显示如下
之后的源码解析都会在这个子模块dubbo-demo中进行,里面包括
dubbo-demo-api(公共接口)
dubbo-demo-consumer(服务调用方)
dubbo-demo-provider(服务提供方)
- 下载并安装zookeeper,启动zookeeper
- 下载地址 : https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/
- 下载完成后进入bin目录,启动zk服务(zkServer.cmd)
- 启动成功后如下图,zk地址默认端口为2181
- 分别启动Proiver和Consumer,步骤如下:
- 修改Proiver中的配置文件dubbo-demo-provider.xml,将其注册中心修改为zk的地址
- 修改Consumer中的位置文件dubbo-demo-consumer.xml,将其注册中心修改为zk的地址
- 运行Provider类,将自己的服务接口对外开放
- 运行Consumer类,寻找服务提供方,并调用其接口实现
- 全部启动后,Proiver控制台会循坏打印出Consumer的地址,Consumer控制台会循环打印出Proiver的地址:
至此,dubbo就已经成功启动了,并可以顺利的通过zk来调用到服务(想要解析源码的同学可以先打上断点,然后debug模式启动就行)
源码的解析就从下一篇开始.