共用方式為


微服務可定址性和服務登錄

提示

本內容節錄自《容器化 .NET 應用程式的 .NET 微服務架構》(.NET Microservices Architecture for Containerized .NET Applications) 電子書,可以在 .NET Docs 上取得,或免費下載可供離線閱讀的 PDF。

.NET Microservices Architecture for Containerized .NET Applications eBook cover thumbnail.

每個微服務都有用來解析其位置的唯一名稱 (URL)。 只要您的微服務正在執行,就必須是可定址的。 如果您必須想一下正在執行特定微服務的電腦為何,問題可能會急遽惡化。 就像是 DNS 將 URL 解析為特定電腦,您的微服務也必須具有唯一名稱,才能探索其目前位置。 微服務需要可定址的名稱,以獨立於其執行所在的基礎結構。 此方法表示服務的部署方式與探索方式之間會有互動,因為需要有服務登錄 (英文)。 同樣地,當電腦失敗時,登錄服務必須能夠指出服務現在正在執行的位置。

服務登錄模式是服務探索的主要部分。 登錄是包含服務執行個體之網路位置的資料庫。 服務登錄必須高度可用且處於最新狀態。 用戶端可以快取從服務登錄取得的網路位置。 不過,該資訊最終會過期,此時用戶端將無法再探索服務執行個體。 因此,服務登錄是由伺服器叢集所組成,這些伺服器使用複寫通訊協定來維護一致性。

在某些微服務部署環境中 (稱為叢集,本節稍後將會討論),服務探索是內建功能。 例如,Azure Kubernetes Service (AKS) 環境可以處理服務執行個體註冊和取消註冊。 它也會在扮演伺服器端探索路由器角色的每部叢集主機上執行 Proxy。

其他資源