在服務消費者調用服務提供者時,如果您的服務提供者是跨可用區部署的,那么您可以為服務提供者開啟同可用區優先路由功能。該功能可以優先調用同可用區的服務提供者,從而避免服務之間跨可用區調用導致的網絡延遲問題,縮短HTTP響應時間。Spring Cloud、Dubbo和HSF應用都支持該功能。本文介紹如何為K8s集群中的服務提供者開啟同可用區優先調用。
背景信息
當應用部署在多個可用區時,應用之間互相調用會出現跨可用區的情況。例如下圖中可用區1的A應用調用可用區2的B應用,即節點A1上的應用調用節點B2上的應用。跨可用區調用會出現網絡延時增加,并延長HTTP響應時間。調用鏈路如下圖所示:
當應用服務開啟同可用區優先后,消費者應用會優先調用同可用區的服務提供者,可以避免跨可用區帶來的網絡延時,從而縮短HTTP的響應時間。調用鏈路如下圖所示:
如果當前可用區沒有服務提供者時,服務調用者會調用到其他可用區的服務提供者。
開啟同可用區優先
您可以在EDAS控制臺執行以下操作,為服務提供者開啟同可用區優先功能。
登錄EDAS控制臺。
在左側導航欄,單擊應用管理 > 應用列表,在頂部菜單欄選擇地域并在頁面上方選擇微服務空間,在集群類型下拉列表中選擇K8s集群,然后單擊目標應用名稱。
在應用總覽頁面的服務治理區域,單擊同可用區優先右側的開啟。
在應用總覽頁面的服務治理區域,單擊同可用區優先右側的圖標并設置閾值。
說明只有當前可用區實例數量占實例總數的比例大于所設置的閾值時,同可用區優先調用策略才會生效。閾值填寫范圍為0~100。
需要配置JVM啟動參數
-Dmse.enable=true
,配置才能生效。具體操作,請參見配置Java啟動參數。
文檔內容是否對您有幫助?