主機名路由模式 - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

主機名路由模式

透過主機名稱路由是一種透過為每個 API 提供自己的主機名來隔離 API 服務的機制;例如,service-a.api.example.comservice-a.example.com

一般使用案例

使用主機名稱進行路由可減少版本中的摩擦量,因為服務團隊之間不會共用任何內容。團隊負責管理從 DNS 項目到生產中的服務操作的所有內容。

向上游消費者公開 HTTP APIs主機名稱路由模式。

優點

主機名稱路由是目前為止最直接且可擴展的 HTTP API 路由方法。您可以使用任何相關的 AWS 服務來建置遵循此方法的架構,您可以使用 Amazon API GatewayAWS AppSyncApplication Load BalancerAmazon Elastic Compute Cloud (Amazon EC2) 或任何其他 HTTP 相容服務來建立架構。

團隊可以使用主機名稱路由來完全擁有自己的子網域。它也可讓您更輕鬆地隔離、測試和協調特定 AWS 區域 或 版本的部署;例如 region.service-a.api.example.comdev.region.service-a.api.example.com

缺點

當您使用主機名稱路由時,您的消費者必須記住不同的主機名稱,才能與您公開的每個 API 進行互動。您可以透過提供客戶端 SDK 來緩解此問題。不過,使用者端 SDK 會面臨各自的挑戰。例如,他們必須支援滾動更新,多種語言,版本控制,溝通由安全問題或錯誤修復,文檔等引起的突破性更改。

當您使用主機名稱路由時,您也需要在每次建立新服務時註冊子網域或網域。