柚子快報(bào)邀請(qǐng)碼778899分享:中間件-面試題
柚子快報(bào)邀請(qǐng)碼778899分享:中間件-面試題
一、Dubbo
1、Dubbo 的服務(wù)請(qǐng)求失敗怎么處理
dubbo2默認(rèn)重試次數(shù)2,dubbo3默認(rèn)重試次數(shù)-1
可以根據(jù)不同場(chǎng)景選擇容錯(cuò)策略
失敗自動(dòng)切換:當(dāng)出現(xiàn)失敗時(shí),重試其它服務(wù)器
失敗自動(dòng)恢復(fù):后臺(tái)記錄失敗請(qǐng)求,定時(shí)重發(fā)。這種策略通常用于消息通知操作
失敗安全策略,如果出現(xiàn)服務(wù)通信異常,直接把這個(gè)異常吞掉不做任何處理
快速失敗策略,服務(wù)消費(fèi)者只發(fā)起一次請(qǐng)求,如果請(qǐng)求失敗,就直接把錯(cuò)誤拋出去。這種比較適合在非冪等性場(chǎng)景中使用
2、Dubbo負(fù)載均衡
隨機(jī)(默認(rèn))
一致性hash:每次相同參數(shù)的請(qǐng)求都會(huì)訪問(wèn)固定服務(wù)器
最小活躍數(shù)
權(quán)重
3、Dubbo 是如何感知服務(wù)下線
Dubbo 默認(rèn)采用ZK實(shí)現(xiàn)服務(wù)的注冊(cè)與服務(wù)發(fā)現(xiàn),即ZK維護(hù)Dubbo服務(wù)之間的通信地址。在ZK上,會(huì)采用樹(shù)形結(jié)構(gòu)的方式來(lái)維護(hù)Dubbo 服務(wù)提供端的協(xié)議地址,Dubbo 服務(wù)消費(fèi)端會(huì)從Zookeeper Server 上去查找目標(biāo)服務(wù)的地址列表,從而完成服務(wù)的注冊(cè)和消費(fèi)的功能。
ZK會(huì)通過(guò)心跳檢測(cè)機(jī)制,來(lái)判斷Dubbo 服務(wù)提供端的運(yùn)行狀態(tài),來(lái)決定是否應(yīng)該把這個(gè)服務(wù)從地址列表剔除。
4、Dubbo和SpringCloud區(qū)別
Dubbo 底層使用Netty-NIO 框架,是基于TCP 協(xié)議,配合以Hession 序列化完成RPC 通信。
SpringCloud 是基于Http 協(xié)議+Rest 接口調(diào)用遠(yuǎn)程過(guò)程的通信,相對(duì)來(lái)說(shuō),Http 請(qǐng)求會(huì)有更大的報(bào)文,占的帶寬也會(huì)更多。但是REST 相比RPC 更為靈活,服務(wù)提供方和調(diào)用方的依賴只依靠一紙契約,不存在代碼級(jí)別的強(qiáng)依賴。
5、RPC和HTTP的區(qū)別
功能特性
http是一個(gè)屬于應(yīng)用層的超文本傳輸協(xié)議,是萬(wàn)維網(wǎng)數(shù)據(jù)通信的基礎(chǔ),主要服務(wù)在網(wǎng)頁(yè)端和服務(wù)端的數(shù)據(jù)傳輸上。
RPC 是一個(gè)遠(yuǎn)程過(guò)程調(diào)用協(xié)議,目的是實(shí)現(xiàn)不同計(jì)算機(jī)應(yīng)用之間的數(shù)據(jù)通信,屏蔽通信底層的復(fù)雜性,讓開(kāi)發(fā)者就像調(diào)用本地服務(wù)一樣完成遠(yuǎn)程服務(wù)的調(diào)用。
實(shí)現(xiàn)原理
http協(xié)議是一個(gè)已經(jīng)實(shí)現(xiàn)并且成熟的應(yīng)用層協(xié)議,它定義了通信的報(bào)文格式Request Body 和
柚子快報(bào)邀請(qǐng)碼778899分享:中間件-面試題
好文鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。