配置 Google Cloud Load Balancer 时,我可以选择添加多个网络端点组致我的后端服务。
关于云负载平衡的许多文献都关注请求的地理分布代表一个边界的相同服务部署在不同地点。
Google Cloud 文档提及无服务器网络端点组“一项 Cloud Run 服务或一组共享相同 URL 模式的服务。”我不完全确定“相同的 URL 模式”,但如果这意味着“是同一个应用程序”或“具有相同的路由”,那么这条规则是否也适用于后端服务,或者后端服务是否可以由具有不同“URL 模式”?
在我的应用程序中,我们使用多个区域遵守数据驻留要求,其中每个地区代表具有不同数据的单独边界。这意味着我们的应用程序逻辑会根据用户有意识地选择哪个来切换 DNS( api-ca
, )api-us
地区来存储他们的数据。
基于此,我的具体问题是:
- 鉴于它们不可互换,为我的所有设备配置网络端点组是否仍然有意义?区域在单个后端服务下?
- 请记住,我也在 Google Cloud 对后端服务的配额似乎很严格的限制下工作。
请注意:
- 我之所以需要使用云负载平衡,是因为我们部署 Google Cloud Run 服务的区域至少有一个不支持自定义域映射。
答案1
首先 -
URL 模式包含一个域名和一个可以匹配 URL 路径的模式,例如: example.com/*/animals/** 。以下任何 URL 请求都可能与 URL 模式示例匹配: example.com/singapore/animals example.com/australia/animals/spiders example.com/australia/animals/marsupials/koala.png
我了解您正在使用 Cloud Run 托管您的应用程序,因此尝试使用无服务器 NEG 和
a) 是的,可以为同一个后端服务配置多个 NEG(每个区域 1 个 NEG),但它有一些限制,如描述
b)此外,使用 Cloud Run 和 HTTP(s) 负载均衡器组合可以帮助您将单个 URL 映射到在不同区域运行的多个相同的无服务器应用程序,如文档这可能对您的场景有益。
我相信您正在尝试在“Cloud Run 域名映射限制' 因此您在使用自定义域映射时会遇到问题。如果您尝试在任何其他区域进行配置,请分享错误消息。