更新時(shí)間:2021-06-09 16:28:26 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1152次
Dubbo是一個(gè)分布式服務(wù)框架,以及阿里巴巴內(nèi)部的SOA服務(wù)化治理方案的核心框架。其功能主要包括:高性能NIO通訊及多協(xié)議集成,服務(wù)動(dòng)態(tài)尋址與路由,軟負(fù)載均衡與容錯(cuò),依賴分析與降級等。
特色1:服務(wù)注冊與發(fā)現(xiàn)的注冊中心Registry
注冊中心返回服務(wù)提供者地址列表給消費(fèi)者,如果有變更,注冊中心將基于長連接推送變更數(shù)據(jù)給消費(fèi)者。這個(gè)功能是應(yīng)有之義
服務(wù)消費(fèi)者,從提供者地址列表中,基于軟負(fù)載均衡算法,選一臺(tái)提供者進(jìn)行調(diào)用,如果調(diào)用失敗,再選另一臺(tái)調(diào)用。這個(gè)就很好很強(qiáng)大了,
注冊中心的這兩個(gè)特性大大提高了系統(tǒng)的可用性和擴(kuò)展性。注冊中心既可以采用Multicast注冊中心,也可以集成Zookeeper,也可以采用Redis,非生產(chǎn)環(huán)境也可以使用一個(gè)Dubbo自己實(shí)現(xiàn)的Simple注冊中心,非常靈活。
特色2:統(tǒng)計(jì)服務(wù)的調(diào)用次調(diào)和調(diào)用時(shí)間的監(jiān)控中心Monitor
服務(wù)消費(fèi)者和提供者,在內(nèi)存中累計(jì)調(diào)用次數(shù)和調(diào)用時(shí)間,定時(shí)每分鐘發(fā)送一次統(tǒng)計(jì)數(shù)據(jù)到監(jiān)控中心。
監(jiān)控負(fù)載,排查性能瓶頸就方便多了。簡易監(jiān)控中心的安裝,請參考這里。
特色3:使用上,采用全Spring配置方式,透明化接入應(yīng)用,對應(yīng)用沒有任何API侵入,只需用Spring加載Dubbo的配置即可,Dubbo基于Spring的Schema擴(kuò)展進(jìn)行加載。
特色4:開源部分中,還包含有一個(gè)管理控制臺(tái)的實(shí)現(xiàn)(內(nèi)部裁剪版本,開源部分主要包含:路由規(guī)則,動(dòng)態(tài)配置,服務(wù)降級,訪問控制,權(quán)重調(diào)整,負(fù)載均衡,等管理功能)
(1)Provider暴露服務(wù)方稱之為“服務(wù)提供者”。
服務(wù)提供者向注冊中心注冊其提供的服務(wù),并匯報(bào)調(diào)用時(shí)間到監(jiān)控中心,此時(shí)間不包含網(wǎng)絡(luò)開銷
(2)Consumer調(diào)用遠(yuǎn)程服務(wù)方稱之為“服務(wù)消費(fèi)者”。
服務(wù)消費(fèi)者向注冊中心獲取服務(wù)提供者地址列表,并根據(jù)負(fù)載算法直接調(diào)用提供者,同時(shí)匯報(bào)調(diào)用時(shí)間到監(jiān)控中心,此時(shí)間包含網(wǎng)絡(luò)開銷
(3)Registry服務(wù)注冊與發(fā)現(xiàn)的中心目錄服務(wù)稱之為“服務(wù)注冊中心”
注冊中心負(fù)責(zé)服務(wù)地址的注冊與查找,相當(dāng)于目錄服務(wù),服務(wù)提供者和消費(fèi)者只在啟動(dòng)時(shí)與注冊中心交互,注冊中心不轉(zhuǎn)發(fā)請求,壓力較小
(4)Monitor統(tǒng)計(jì)服務(wù)的調(diào)用次調(diào)和調(diào)用時(shí)間的日志服務(wù)稱之為“服務(wù)監(jiān)控中心”
監(jiān)控中心負(fù)責(zé)統(tǒng)計(jì)各服務(wù)調(diào)用次數(shù),調(diào)用時(shí)間等,統(tǒng)計(jì)先在內(nèi)存匯總后每分鐘一次發(fā)送到監(jiān)控中心服務(wù)器,并以報(bào)表展示
服務(wù)容器負(fù)責(zé)啟動(dòng),加載,運(yùn)行服務(wù)提供者。
服務(wù)提供者在啟動(dòng)時(shí),向注冊中心注冊自己提供的服務(wù)。
服務(wù)消費(fèi)者在啟動(dòng)時(shí),向注冊中心訂閱自己所需的服務(wù)。
注冊中心返回服務(wù)提供者地址列表給消費(fèi)者,如果有變更,注冊中心將基于長連接推送變更數(shù)據(jù)給消費(fèi)者。
服務(wù)消費(fèi)者,從提供者地址列表中,基于軟負(fù)載均衡算法,選一臺(tái)提供者進(jìn)行調(diào)用,如果調(diào)用失敗,再選另一臺(tái)調(diào)用。
服務(wù)消費(fèi)者和提供者,在內(nèi)存中累計(jì)調(diào)用次數(shù)和調(diào)用時(shí)間,定時(shí)每分鐘發(fā)送一次統(tǒng)計(jì)數(shù)據(jù)到監(jiān)控中心。
(1)監(jiān)控中心宕掉不影響使用,只是丟失部分采樣數(shù)據(jù)
(2)數(shù)據(jù)庫宕掉后,注冊中心仍能通過緩存提供服務(wù)列表查詢,但不能注冊新服務(wù)
(3)注冊中心對等集群,任意一臺(tái)宕掉后,將自動(dòng)切換到另一臺(tái)
(4)注冊中心全部宕掉后,服務(wù)提供者和服務(wù)消費(fèi)者仍能通過本地緩存通訊
(5)服務(wù)提供者無狀態(tài),任意一臺(tái)宕掉后,不影響使用
(6)服務(wù)提供者全部宕掉后,服務(wù)消費(fèi)者應(yīng)用將無法使用,并無限次重連等待服務(wù)提供者恢復(fù)
(1)注冊中心為對等集群,可動(dòng)態(tài)增加機(jī)器部署實(shí)例,所有客戶端將自動(dòng)發(fā)現(xiàn)新的注冊中心
(2)服務(wù)提供者無狀態(tài),可動(dòng)態(tài)增加機(jī)器部署實(shí)例,注冊中心將推送新的服務(wù)提供者信息給消費(fèi)者
以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"Dubbo框架的簡單介紹",希望對大家有幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為您服務(wù)。
初級 202925
初級 203221
初級 202629
初級 203743