首頁(yè)技術(shù)文章正文

Dubbo服務(wù)開發(fā)和運(yùn)行流程【java面試】

更新時(shí)間:2020-11-30 來(lái)源:黑馬程序員 瀏覽量:

1577370495235_學(xué)IT就到黑馬程序員.gif

(1)問(wèn)題分析:

考官主要想考核dubbo的原理,還有dubbo在項(xiàng)目中的使用。

(2)核心答案講解:

dubbo服務(wù)開發(fā)流程:

maven工程中pom文件先導(dǎo)入dubbo依賴jar包

搭建zookeeper注冊(cè)中心

寫好服務(wù)端工程并配置dubbo服務(wù)端配置,并關(guān)聯(lián)上zookeeper注冊(cè)中心

服務(wù)端的實(shí)現(xiàn)類上添加@Service注解,此注解來(lái)自阿里巴巴的

寫好客戶端工程并配置dubbo客戶端配置,并關(guān)聯(lián)上zookeeper注冊(cè)中心

在注入的服務(wù)的接口上添加@Reference注解

dubbo運(yùn)行流程:

dubbo運(yùn)行流程



1)服務(wù)容器負(fù)責(zé)啟動(dòng),加載,運(yùn)行服務(wù)提供者。

2)服務(wù)提供者在啟動(dòng)時(shí),向注冊(cè)中心注冊(cè)自己提供的服務(wù)。

3)服務(wù)消費(fèi)者在啟動(dòng)時(shí),向注冊(cè)中心訂閱自己所需的服務(wù)。

4)注冊(cè)中心返回服務(wù)提供者地址列表給消費(fèi)者,如果有變更,注冊(cè)中心將基于長(zhǎng)連接推送變更數(shù)據(jù)給消費(fèi)者。

5)服務(wù)消費(fèi)者,從提供者地址列表中,基于軟負(fù)載均衡算法,選一臺(tái)提供者進(jìn)行調(diào)用,如果調(diào)用失敗,再選另一臺(tái)調(diào)用。

6)服務(wù)消費(fèi)者和提供者,在內(nèi)存中累計(jì)調(diào)用次數(shù)和調(diào)用時(shí)間,定時(shí)每分鐘發(fā)送一次統(tǒng)計(jì)數(shù)據(jù)到監(jiān)控中心。

(3)問(wèn)題擴(kuò)展:

RPC協(xié)議:

RPC(Remote Procedure Call)—遠(yuǎn)程過(guò)程調(diào)用,它是一種通過(guò)網(wǎng)絡(luò)從遠(yuǎn)程計(jì)算機(jī)程序上請(qǐng)求服務(wù),而不需要了解底層網(wǎng)絡(luò)技術(shù)的協(xié)議。RPC協(xié)議假定某些傳輸協(xié)議的存在,如TCP或UDP,為通信程序之間攜帶信息數(shù)據(jù)。在OSI網(wǎng)絡(luò)通信模型中,RPC跨越了傳輸層和應(yīng)用層。RPC使得開發(fā)包括網(wǎng)絡(luò)分布式多程序在內(nèi)的應(yīng)用程序更加容易。

說(shuō)得通俗點(diǎn),使用RPC協(xié)議使得服務(wù)器和服務(wù)器之間通信效率更高,更方便。

(4)結(jié)合項(xiàng)目中使用:

在分布式架構(gòu)項(xiàng)目中,可以使用dubbo做接口暴露跟調(diào)用。

dubbo02


猜你喜歡:

Dubbo相關(guān)面試題附答案

Spring Cloud和Dubbo的區(qū)別是什么? 

java之Zookeeper+dubbo視頻教程

黑馬程序員Java培訓(xùn)課程


分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!