代碼檔案為: 客戶端 和服務器
可疑代碼:
var serviceConfig = `{
"loadBalancingPolicy": "round_robin",
"healthCheckConfig": {
"serviceName": ""
}
}`
測驗步驟:
1.只運行一臺服務器和一臺客戶端
2.當使用“loadBalancingPolicy”:“round_robin”時,客戶端可以檢測到服務器的“status=NOT_SERVING”
3.當“loadBalancingPolicy”:“round_robin”被洗掉,或者使用“pick_first”時,客戶端無法檢測到服務器的“status=NOT_SERVING”
uj5u.com熱心網友回復:
當有多個服務器地址時,健康檢查有意義。如果只有一個地址,則不需要檢查健康狀態。所以負載均衡策略round_robin與健康檢查一起作業。
將round_robin檢查健康狀態,因此它將READY一個接一個地向地址發送請求。
該pick_first策略不支持健康檢查,因此它將使用第一個成功連接的服務器。因此,任何請求都只會使用指定地址。
您可以閱讀LB Policies Can Disable Health Checking When Needed中有關健康檢查和負載均衡策略的檔案。
為了除錯客戶端和服務器,您可以添加環境變數GRPC_GO_LOG_SEVERITY_LEVEL=info以及GRPC_GO_LOG_VERBOSITY_LEVEL=99傳輸和連接事件的更多詳細資訊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/439706.html
