dubbo源碼分析1(搭建環境)

  好久沒有寫博客了, 一方面是最近工作太忙了,還有就是因爲在研究dubbo源碼相關的,感覺沒有怎麼研究懂,我擦(╯—﹏—)╯(┷━━━┷

  由於以前是使用springboot開發的,很簡單,然後今年在這個新的公司使用的是dubbo框架,雖然對於我精通使用crud沒有任何影響╮(╯_╰)╭,但是就是覺得不弄懂其中的原理就沒有安全感

  其實暗地裏也偷偷的學習好久的dubbo了,大概的原理也懂了一丟丟,暫時沒有深入,現在決定一遍寫寫博客,順便深入一下其中源碼,記錄一下學習過程吧!

1.拉取源碼

  dubbo開源的,已經被阿里丟給apache維護了,所以我們直接去gitee 中進行下載,版本來個2.7.5吧,也可以根據自己情況自行下載其他版本的

 

 

然後我們可以使用idea或者eclipse打開,我這裏使用idea,需要慢慢等着下載依賴,走,先打一把王者吧( ̄▽ ̄)ノ

 

2.註冊中心

  雖然說註冊中心有很多種,比如Eureka,console,nacos,redis,zookeeper等等,但是dubbo註冊中心一般就是使用zookeeper吧......

  而且使用zookeeper有一些好處,後面肯定會好好的學習一波zookeeper,這個知識點也有很多,暫時先不管這麼多,先把demo跑起來再說๑乛◡乛๑

  下載zookeeper的方法應該不用多說,就是去下載一個zookeeper安裝包,修改配置文件, 然後啓動,可以參考這個老哥的博客

 

  上圖所示,看起來註冊中心更像是一個緩存的作用吧!

  當然,提供者和消費者可能都有很多個,其實上面這種架構也適用於springcloud,只不過如果是springcloud的話,第3個步驟走的就是http請求了

  其實我覺得就是dubbo和springcloud的最大區別,在遠程調用的時候,一個是走tcp調用(可以自己定義協議),一個是走http調用,有興趣的可以看看網絡五層協議,而且http請求會自帶一些請求頭,響應頭,但是我們根本用不上這個,會消耗傳輸性能;

  這就是爲什麼會有人說dubbo的效率會比springcloud高一點;

 

3.啓動demo

  瞎扯了一通,我們啓動好了zookeeper,然後我們啓動服務提供者(我記得我啓動啓動這個服務提供者的時候會報程序包org.apache.dubbo.rpc.protocol.rest.support不存在的錯誤,我們只需要把ContentType這個類複製到對應的org.apache.dubbo.config.bootstrap.rest包下就行了

 

  啓動服務消費者

 

  

  最後我們就能看到控制檯的結果了,可以看到調用成功

 

  到這裏我們就把demo給跑起來了,先不要去糾結源碼裏怎麼又這麼多模塊,有興趣的可以自己先看看,瞭解一下

  後面我們慢慢的分析其中的運行原理吧!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章