-
透過 Linkerd 的動態路由規則來確定打算連線哪個服務。這個請求是要路由到生產環境還是演示環境?是請求本地資料中心的服務還是雲上的服務?是請求正在測試的最新版的服務還是已經在生產中經過驗證的老版本?所有的這些路由規則都是動態配置的,可以全域性應用也可以部分應用。
-
找到正確的目的服務後,Linkerd 從一個或幾個相關的服務發現端點檢索實體池。如果這些資訊與 Linkerd 的服務發現資訊不同, Linkerd 會決定信任哪些資訊來源。
-
Linkerd 會根據觀察到的最近的響應延遲來選擇速度最快的實體。
-
Linkerd 傳送請求給這個實體,記錄延遲和響應型別。
-
如果這個實體掛了、無響應或者無法處理請求, Linkerd 會再另一個實體上重試這個請求(但只有在請求是冪等的時候)。
-
如果一個實體一直請求失敗, Linkerd 會將其移出定時重試的負載均衡池。
-
如果請求超時, Linkerd 會主動將請求失效,而不是進一步重試從而增加負載。
-
Linkerd 會記錄指標和分散式的追蹤上述行為的各個方面,將他們儲存在集中的指標系統中。