主機名路由模式 - 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 會面臨各自的挑戰。例如,他們必須支援滾動更新,多種語言,版本控制,溝通由安全問題或錯誤修復,文檔等引起的突破性更改。

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