首頁技術文章正文

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

更新時間:2020-11-30 來源:黑馬程序員 瀏覽量:

1577370495235_學IT就到黑馬程序員.gif

(1)問題分析:

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

(2)核心答案講解:

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

maven工程中pom文件先導入dubbo依賴jar包

搭建zookeeper注冊中心

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

服務端的實現(xiàn)類上添加@Service注解,此注解來自阿里巴巴的

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

在注入的服務的接口上添加@Reference注解

dubbo運行流程:

dubbo運行流程



1)服務容器負責啟動,加載,運行服務提供者。

2)服務提供者在啟動時,向注冊中心注冊自己提供的服務。

3)服務消費者在啟動時,向注冊中心訂閱自己所需的服務。

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

5)服務消費者,從提供者地址列表中,基于軟負載均衡算法,選一臺提供者進行調用,如果調用失敗,再選另一臺調用。

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

(3)問題擴展:

RPC協(xié)議:

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

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

(4)結合項目中使用:

在分布式架構項目中,可以使用dubbo做接口暴露跟調用。

dubbo02


猜你喜歡:

Dubbo相關面試題附答案

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

java之Zookeeper+dubbo視頻教程

黑馬程序員Java培訓課程


分享到:
在線咨詢 我要報名
和我們在線交談!