最近面試復(fù)習(xí)dubbo隨便寫寫
*首先什么是dubbo未巫?
dubbo是阿里開源的一個(gè)RPC(遠(yuǎn)程過程調(diào)用鸭限,是一種支持多種通信協(xié)議的思想通常包括了HTTP:Dubbo )框架谦炬,主要分為消費(fèi)端昔榴,服務(wù)端逞怨,還有一個(gè)注冊(cè)中心黔州,通過一個(gè)注冊(cè)中心來實(shí)現(xiàn)遠(yuǎn)程方法調(diào)用耍鬓。
官網(wǎng):http://dubbo.apache.org/en-us/
*dubbo有什么用?用來解決什么流妻?
首先我們看一下傳統(tǒng)的項(xiàng)目框架:
服務(wù)A請(qǐng)求通過Nginx(反向代理主要做負(fù)載均衡)來分配給下面的服務(wù)集群
*思考:這種傳統(tǒng)的結(jié)構(gòu)有什么問題呢牲蜀?
Nginx這個(gè)模塊過于中心,無論ServiceA的請(qǐng)求還是返回都要經(jīng)過Nginx绅这。如果Nginx負(fù)載過大會(huì)嚴(yán)重影響項(xiàng)目涣达。dubbo就可以解決這個(gè)問題。
*dubbo是通過什么方法決絕的呢证薇?
先看看dubbo主要的組成部分
- Consumer:調(diào)用遠(yuǎn)程服務(wù)的服務(wù)消費(fèi)方
- Registry:服務(wù)注冊(cè)與發(fā)現(xiàn)的注冊(cè)中心
-
Provider:暴露服務(wù)的服務(wù)提供方
這個(gè)注冊(cè)中心就是用來去中心化的度苔,服務(wù)端啟動(dòng)的提供一個(gè)地址給注冊(cè)中心,消費(fèi)端啟動(dòng)的時(shí)候向注冊(cè)中心獲取地址同時(shí)提供自己的地址浑度。這樣消費(fèi)端請(qǐng)求和接收都不用經(jīng)過第三者直接和服務(wù)端接觸林螃。
image.png
思考:那萬一注冊(cè)中心掛了呢?
這里dubbo有個(gè)機(jī)制俺泣,ServiceA在注冊(cè)中心的到地址后會(huì)在本地緩存一份疗认。
常用的注冊(cè)中心:Zookeeper,rides(本質(zhì)是一個(gè)數(shù)據(jù)庫)
最后的代碼實(shí)現(xiàn)就不發(fā)出來了完残,按照官網(wǎng)的快速入門很快就可以弄出來。
http://dubbo.apache.org/zh-cn/docs/user/quick-start.html