所有源碼基於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作註冊中心的源碼解讀做個鋪墊。