1. 程式人生 > >dubbo集群服務下一臺服務掛了對服務調用的影響

dubbo集群服務下一臺服務掛了對服務調用的影響

註冊中心 keep 日誌 描述 服務調用 wifi style 環境 繼續

一、問題描述:項目中2臺dubbo服務給移動端提供查詢接口,移動端反應說查詢時而很快(秒刷),時而很慢(4-5秒)。

二、問題分析:

  1、問題猜想:網絡不穩定原因導致,但是切換公司wifi和手機4G,問題依舊存在。說明問題不是網絡原因導致

  2、因為服務提供者中有記錄服務響應時間日誌,打開2臺服務提供者的日誌,發現有一臺不會打印最新日誌,而所有的服務調用都在另一臺,檢查發現一臺dubbo服務已經掛了(mark可能是問題原因)。

    繼續分析正常使用的dubbo服務的響應日誌發現。。響應時間都在200ms左右,從這可以看出服務響應也是沒問題的。那是什麽原因導致時快時慢的呢。

    既然正常服務調用沒問題,那一定是集群環境中調用出問題了,想到一開始發現的一臺dubbo服務已經掛了(zookeeper註冊中心依然有這臺服務的註冊信息),而在集群負載均衡時,Dubbo缺省為random隨機調用,當請求到掛了的provider時,會先執行重試,

    然後再選擇集群中正常的provider提供的服務,這樣經過重試再選擇provider必然會耗時

    驗證結果也印證了以上猜測:當訪問快的時候,日誌很快打印,而在訪問慢的時候,後臺日誌也間隔幾秒才打印,其中耗時都在重試和再選擇服務上。

三、問題解決:把掛了的dubbo服務啟動起來,問題沒有再出現

  

dubbo集群服務下一臺服務掛了對服務調用的影響