Dubbo 入门介绍
一、什么是Dubbo
Dubbo 是阿里巴巴公司一個開源的高性能服務(wù)框架,致力于提供高性能和透明化的 RPC 遠(yuǎn)程服務(wù)調(diào)用方案,以及 SOA 服務(wù)治理方案,使得應(yīng)用可通過高性能 RPC 實(shí)現(xiàn)服務(wù)的輸出、輸入功能和 Spring 框架無縫集成。
官方鏈接地址:http://dubbo.io/
官方GitHub 鏈接地址:https://github.com/ApacheInfra/dubbo
二、Dubbo 的應(yīng)用場景
當(dāng)一個網(wǎng)站變得復(fù)雜后,不可避免的需要拆分應(yīng)用進(jìn)行服務(wù)化,以提高開發(fā)效率,調(diào)優(yōu)性能,節(jié)省關(guān)鍵競爭資源等。
當(dāng)服務(wù)越來越多時,服務(wù)的URL地址信息就會爆炸式增長,配置管理變得非常困難。當(dāng)進(jìn)一步發(fā)展,服務(wù)間依賴關(guān)系變得錯蹤復(fù)雜,甚至分不清哪個應(yīng)用要在哪個應(yīng)用之前啟動。
基于上面的問題,我們就可以使用Dubbo。
三、Dubbo 體系架構(gòu)
各個角色介紹:
Container:服務(wù)運(yùn)行的容器
Provider:“服務(wù)提供者”,用來暴露服務(wù)供服務(wù)消費(fèi)者調(diào)用
Registry:“服務(wù)注冊中心”,服務(wù)注冊與發(fā)現(xiàn)的中心目錄
Consumer:“服務(wù)消費(fèi)者”,調(diào)用遠(yuǎn)程服務(wù)
Monitor:“服務(wù)監(jiān)控中心”,統(tǒng)計(jì)服務(wù)的調(diào)用次數(shù)和調(diào)用時間的日志服務(wù)
調(diào)用關(guān)系說明:
0:服務(wù)容器負(fù)責(zé)啟動、加載和運(yùn)行服務(wù)提供者
1:服務(wù)提供者在啟動時,向服務(wù)注冊中心注冊自己提供的服務(wù)
2:服務(wù)消費(fèi)者在啟動時,向服務(wù)注冊中心訂閱對應(yīng)的服務(wù)
3:注冊中心返回服務(wù)提供者地址列表給消費(fèi)者,如果發(fā)生變化,注冊中心將基于長連接推送變更數(shù)據(jù)給消費(fèi)者。
4:服務(wù)消費(fèi)者從提供者地址列表,調(diào)用對應(yīng)提供者中的服務(wù)接口
5:服務(wù)消費(fèi)者和提供者,在內(nèi)存中累計(jì)調(diào)用次數(shù)和調(diào)用時間,定時發(fā)送統(tǒng)計(jì)數(shù)據(jù)到監(jiān)控中心
四、服務(wù)注冊中心Registry
對于服務(wù)提供方,它需要發(fā)布服務(wù),而且由于應(yīng)用系統(tǒng)的復(fù)雜性,服務(wù)的數(shù)量、類型也不斷膨脹;對于服務(wù)消費(fèi)方,它最關(guān)心如何獲取到它所需要的服務(wù),而面對復(fù)雜的應(yīng)用系統(tǒng),需要管理大量的服務(wù)調(diào)用。而且,對于服務(wù)提供方和服務(wù)消費(fèi)方來說,他們還有可能兼具這兩種角色,即既需要提供服務(wù),有需要消費(fèi)服務(wù)。
通過將服務(wù)統(tǒng)一管理起來,可以有效地優(yōu)化內(nèi)部應(yīng)用對服務(wù)發(fā)布/使用的流程和管理。服務(wù)注冊中心可以通過特定協(xié)議來完成服務(wù)對外的統(tǒng)一。Dubbo提供的注冊中心有如下幾種類型可供選擇:Multicast、Zookeeper、Redis和Simple,現(xiàn)在使用的較多的是Zookeeper 注冊中心。
基于Zookeeper 搭建Dubbo 服務(wù)圖解
五、總結(jié)
初步了解到Dubbo ,整理了一下關(guān)于Dubbo 的入門介紹,如果后續(xù)學(xué)習(xí)到更多關(guān)于Dubbo 的知識,會在博客分享出來。Dubbo 有很長一段時間停止了更新,在去年的時候又開始更新新版本,希望能夠開發(fā)出更多的適用功能。
參考資料:
http://shiyanjun.cn/archives/1075.html
http://shiyanjun.cn/archives/325.html
http://www.ityouknow.com/springcloud/2017/11/20/dubbo-update-again.html
總結(jié)
以上是生活随笔為你收集整理的Dubbo 入门介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MyBatis运行原理(二)SqlSes
- 下一篇: 淘淘商城项目过程记录