1. 程式人生 > >微服務治理的手段

微服務治理的手段

過程 服務治理 lba failsafe 重試 註冊中心 優先級 lock 不生效

節點管理

第一種:註冊中心主動剔除有問題的服務提供者
根據心跳機制決定哪些服務提供者有效,由註冊中心主動撤除有問題的服務提供者的ip,更新服務消費者端的服務提供者ip列表

第二種:服務消費者維護服務提供者列表
服務消費者在維護更新下來的的服務提供者ip列表,在調用的過程中,對有問題的服務提供者ip進行剔除

負載均衡

第一種:隨機算法
第二種:權重優先級算法
第三種:最小活躍調用算法
第四種:一致性hash算法

如果所有服務提供者的機器配置和新舊差不多,優先選用第一種或者第四種
如果所有服務提供者的機器配置和新舊差很遠,優先選用第二種或者第三種

服務路由

在服務消費端的可用服務提供端ip列表中選擇調用哪個ip,除了由負載均衡算法決定,還需要由服務路由規則決定

原因一:業務灰度發布
原因二:多機房就近訪問

路由規則配置方法:
方法一:靜態配置
方法二:動態配置

服務容錯

服務消費者發現調用失敗後手段

手段一:Failover,發現調用失敗後,設置重試次數,如果超過重試次數後對可用服務列表的下一個可用服務ip進行調用,如此類推。適合服務調用時冪等的場景,讀操作場景。
手段二:Failback,發現調用失敗後,根據返回失敗的信息來決定是否重試,如果生效了就不需要再重試,如果不生效就再重新調用。適合服務調用時非冪等的場景。
手段三:Failsafe,發現調用失敗後,等待一個時間間隔後再重試。適合服務調用時冪等的場景。
手段四:Failfast,發現調用失敗後,不重試,直接返回失敗結果,通常適合於非核心業務,適合服務調用時非冪等的場景。

微服務治理的手段