6) 出現(xiàn) RpcException: No provider available for remote service 異常
dubbo在調(diào)用服務(wù)不成功時(shí),默認(rèn)是會(huì)重試兩次的。這樣在服務(wù)端的處理時(shí)間超過(guò)了設(shè)定的超時(shí)時(shí)間時(shí),就會(huì)有重復(fù)請(qǐng)求,比如在發(fā)郵件時(shí),可能就會(huì)發(fā)出多份重復(fù)郵件,執(zhí)行注冊(cè)請(qǐng)求時(shí),就會(huì)插入多條重復(fù)的注冊(cè)數(shù)據(jù),那么怎么解決超時(shí)問(wèn)題呢?如下
LeastActive LoadBalance: 最少活躍調(diào)用策略,解決慢提供者接收更少的請(qǐng)求; ConstantHash LoadBalance: 一致性 Hash 策略,使相同參數(shù)請(qǐng)求總是發(fā)到同一提供者,一臺(tái)機(jī)器宕機(jī),可以基于虛擬節(jié)點(diǎn),分?jǐn)傊疗渌峁┱撸苊庖鹛峁┱叩膭×易儎?dòng);
5) 服務(wù)注冊(cè)不上
RoundRobin LoadBalance: 輪循選取提供者策略,平均分布,但是存在請(qǐng)求累積的問(wèn)題;
當(dāng)然Dubbo的重試機(jī)制其實(shí)是非常好的QOS保證,它的路由機(jī)制,是會(huì)幫你把超時(shí)的請(qǐng)求路由到其他機(jī)器上,而不是本機(jī)嘗試,所以 dubbo的重試機(jī)器也能一定程度的保證服務(wù)的質(zhì)量。但是請(qǐng)一定要綜合線上的訪問(wèn)情況,給出綜合的評(píng)估。
a. 檢查連接的注冊(cè)中心是否正確
對(duì)于核心的服務(wù)中心,去除dubbo超時(shí)重試機(jī)制,并重新評(píng)估設(shè)置超時(shí)時(shí)間。 業(yè)務(wù)處理代碼必須放在服務(wù)端,客戶端只做參數(shù)驗(yàn)證和服務(wù)調(diào)用,不涉及業(yè)務(wù)流程處理 全局配置實(shí)例
3) 為了方便開(kāi)發(fā)測(cè)試,線下有一個(gè)所有服務(wù)可用的注冊(cè)中心,這時(shí),如果有一個(gè)正在開(kāi)發(fā)中的服務(wù)提供者注冊(cè),可能會(huì)影響消費(fèi)者不能正常運(yùn)行。
14、dubbo 和 dubbox 之間的區(qū)別?
檢查 dubbo 的 jar 包有沒(méi)有在 classpath 中,以及有沒(méi)有重復(fù)的 jar 包
c. 檢查服務(wù)提供者是否正常運(yùn)行
解決:不要在服務(wù)的實(shí)現(xiàn)類(lèi)中使用 applicationContext.getBean(); 如果不想依賴配置順序,可以將 dubbo:provider 的 deplay 屬性設(shè)置為 - 1,使 dubbo 在容器初始化完成后再暴露服務(wù)。
Random LoadBalance: 隨機(jī)選取提供者策略,有利于動(dòng)態(tài)調(diào)整提供者權(quán)重。截面碰撞率高,調(diào)用次數(shù)越多,分布越均勻;
廣州招聘會(huì)上出現(xiàn)了這樣一幕:一位女大學(xué)7192生為了請(qǐng)招聘單位給一份工作,"噗嗵"一聲跪在這家招聘單位的桌前,雙手舉著簡(jiǎn)歷,遞給對(duì)方,眼神中流露出誠(chéng)懇和哀求。招聘方也被她這一舉動(dòng)驚呆了。
檢查暴露服務(wù)的 spring 配置有沒(méi)有加載
表示沒(méi)有可用的服務(wù)提供者,
Dubbo 提供了常見(jiàn)的集群策略實(shí)現(xiàn),并預(yù)擴(kuò)展點(diǎn)予以自行實(shí)現(xiàn)。
解決:讓服務(wù)提供者開(kāi)發(fā)方,只訂閱服務(wù),而不注冊(cè)正在開(kāi)發(fā)的服務(wù),通過(guò)直連測(cè)試正在開(kāi)發(fā)的服務(wù)。設(shè)置 dubbo:registry 標(biāo)簽的 register 屬性為 false。
13、在使用過(guò)程中都遇到了些什么問(wèn)題? 如何解決的?
答:別的還有 spring 的 spring cloud,facebook 的 thrift,twitter 的 finagle 等。
在服務(wù)提供者機(jī)器上測(cè)試與注冊(cè)中心的網(wǎng)絡(luò)是否通
測(cè)試時(shí)有些服務(wù)不關(guān)心或者出現(xiàn)了循環(huán)依賴,將 check 設(shè)置為 false
memcache: 基于 memcached 實(shí)現(xiàn)的 RPC 協(xié)議 redis: 基于 redis 實(shí)現(xiàn)的 RPC 協(xié)議
webservice:基于 WebService 的遠(yuǎn)程調(diào)用協(xié)議,集成 CXF 實(shí)現(xiàn),提供和原生 WebService 的互操作。多個(gè)短連接,基于 HTTP 傳輸,同步傳輸,適用系統(tǒng)集成和跨語(yǔ)言調(diào)用;http: 基于 Http 表單提交的遠(yuǎn)程調(diào)用協(xié)議,使用 Spring 的 HttpInvoke 實(shí)現(xiàn)。多個(gè)短連接,傳輸協(xié)議 HTTP,傳入?yún)?shù)大小混合,提供者個(gè)數(shù)多于消費(fèi)者,需要給應(yīng)用程序和瀏覽器 JS 調(diào)用; hessian: 集成 Hessian 服務(wù),基于 HTTP 通訊,采用 Servlet 暴露服務(wù),Dubbo 內(nèi)嵌 Jetty 作為服務(wù)器時(shí)默認(rèn)實(shí)現(xiàn),提供與 Hession 服務(wù)互操作。多個(gè)短連接,同步 HTTP 傳輸,Hessian 序列化,傳入?yún)?shù)較大,提供者大于消費(fèi)者,提供者壓力較大,可傳文件;
17、Dubbo 集群的負(fù)載均衡有哪些策略
b. 到注冊(cè)中心查看相應(yīng)的服務(wù)提供者是否存在
答:dubbox 是當(dāng)當(dāng)網(wǎng)基于 dubbo 上做了一些擴(kuò)展,如加了服務(wù)可 restful 調(diào)用,更新了開(kāi)源組件等。
情景回放: 招聘會(huì)中的下跪一幕
2) dubbo 缺省會(huì)在啟動(dòng)時(shí)檢查依賴是否可用,不可用就拋出異常,阻止 spring 初始化完成,check 屬性默認(rèn)為 true。
15、你還了解別的分布式框架嗎?
rmi: 采用 JDK 標(biāo)準(zhǔn)的 rmi 協(xié)議實(shí)現(xiàn),傳輸參數(shù)和返回參數(shù)對(duì)象需要實(shí)現(xiàn) Serializable 接口,使用 java 標(biāo)準(zhǔn)序列化機(jī)制,使用阻塞式短連接,傳輸數(shù)據(jù)包大小混合,消費(fèi)者和提供者個(gè)數(shù)差不多,可傳文件,傳輸協(xié)議 TCP。 多個(gè)短連接,TCP 協(xié)議傳輸,同步傳輸,適用常規(guī)的遠(yuǎn)程服務(wù)調(diào)用和 rmi 互操作。在依賴低版本的 Common-Collections 包,java 序列化存在安全漏洞;
1) 同時(shí)配置了 XML 和 properties 文件,則 properties 中的配置無(wú)效
dubbo: 單一長(zhǎng)連接和 NIO 異步通訊,適合大并發(fā)小數(shù)據(jù)量的服務(wù)調(diào)用,以及消費(fèi)者遠(yuǎn)大于提供者。傳輸協(xié)議 TCP,異步,Hessian 序列化;
16、Dubbo 支持哪些協(xié)議,每種協(xié)議的應(yīng)用場(chǎng)景,優(yōu)缺點(diǎn)?
7) 出現(xiàn)” 消息發(fā)送失敗” 異常
4) spring 2.x 初始化死鎖問(wèn)題。
在 spring 解析到 dubbo:service 時(shí),就已經(jīng)向外暴露了服務(wù),而 spring 還在接著初始化其他 bean,如果這時(shí)有請(qǐng)求進(jìn)來(lái),并且服務(wù)的實(shí)現(xiàn)類(lèi)里有調(diào)用 applicationContext.getBean() 的用法。getBean 線程和 spring 初始化線程的鎖的順序不一樣,導(dǎo)致了線程死鎖,不能提供服務(wù),啟動(dòng)不了。
只有 XML 沒(méi)有配置時(shí),properties 才生效。
18、服務(wù)調(diào)用超時(shí)問(wèn)題怎么解決
通常是接口方法的傳入傳出參數(shù)未實(shí)現(xiàn) Serializable 接口。
官方微博:@全影網(wǎng) https://weibo.com/7192com
官方微信:想在手機(jī)上獲取最新鮮資訊嗎?添加全影網(wǎng)官方微信:www7192com
本站部分內(nèi)容、觀點(diǎn)、圖片、文字、視頻來(lái)自網(wǎng)絡(luò),僅供大家學(xué)習(xí)和交流,真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾。如果本站有涉及侵犯您的版權(quán)、著作權(quán)、肖像權(quán)的內(nèi)容,請(qǐng)聯(lián)系我們(0536-8337192),我們會(huì)立即審核并處理。
近日,2024至2025賽季國(guó)際雪聯(lián)單板及自由式滑雪大跳臺(tái)世界杯、
在影視制作、表演現(xiàn)場(chǎng)、綜藝錄制等高度協(xié)作的專(zhuān)業(yè)領(lǐng)域,無(wú)線通信
近日,億歐智庫(kù)發(fā)布“2024新國(guó)貨CoolTop100品牌榜”報(bào)告及榜單,
掃描訪問(wèn)手機(jī)版