所有源码基于dubbo 2.7.1版本,请自行从github上下载源码。
1. 源码demo运行环境准备
从demo跑起,从dubbo的运行过程来解读源码。目前大家熟悉可能还是xml配置的形式,所以选择xml版的demo。
通常实际项目中都是以zookeeper作为dubbo的注册中心的,因此修改demo的xml中关于注册中心的配置。
dubbo-provider.xml和dubbo-consumer.xml修改注册中心配置
<!--<dubbo:registry address="multicast://224.5.6.7:1234"/>-->
<dubbo:registry address="zookeeper://127.0.0.1:2181"/>
本地启动ZooKeeper作为注册中心。
2. demo启动
2.1 启动provider
运行provider的Application的main方法。
控制台balabala输出一大堆,没报错就是启动成功了,具体干了什么,我们之后断点再介绍。
2.2 启动consumer
同样运行相应的Application类的 main方法。
控制台输出一堆信息,但是你会看到其中一句如下
result: Hello world, response from provider: 172.17.55.176:20880
这说明consumer成功消费了provider暴露出来的服务。
3. 小结
到目前为止,你已经将demo成功地跑起来了。
这个demo主要过程是:
- provider将服务注册(暴露)到注册中心
- consumer向注册中心订阅这个服务
- consumer取到provider的路由信息,然后直接调用provider的服务,输出远程调用的结果。
即使你不修改注册中心的配置,可以成功运行的,我这么做,主要是为之后基于ZooKeeper作注册中心的源码解读做个铺垫。