【问题标题】:How to change function according to the geo location using Firebase's Cloud Functions?如何使用 Firebase Cloud Functions 根据地理位置更改功能?
【发布时间】:2021-07-04 15:11:41
【问题描述】:

今天,我将相同的 API 代码部署到 Firebase 的 Cloud Functions 中的四个不同函数:

Function Region
api_us_central us-central1
api_us_east us-east1
api_europe europe-west1
api_asia asia-east2

然后我有一个自定义域 my-api.domain.com 与我的 Firebase 项目相关联。

也就是说,我正在寻找一种方法来将任何 API 请求定向到最近的可用函数(地理上)。

我的第一个想法是通过Constellix GTD 设置my-api.domain.com DNS,并使用指向每个函数的不同记录。但是似乎它们只支持 A 记录,而且我也无法找到一种方法来动态地将重写更改为 firebase.json 文件中的不同函数。

你们对我在这里如何进行有什么建议吗?

提前致谢!

【问题讨论】:

    标签: firebase google-cloud-functions


    【解决方案1】:

    您可能想了解一下 GCP LB。在Global HTTP(S) Load Balancing and CDN now support serverless compute你可以找到一篇讨论这个的文章:

    -Cloud Run 和 Cloud Functions 的多区域可用性

    通过将我们的无服务器产品与 HTTP(S) 负载均衡器集成,您现在可以在多个区域部署 Cloud Run 和 Cloud Functions 服务。以 Cloud Run 为例,配置了高级网络服务层和单个转发规则的负载均衡器会将请求传送到离您的客户端最近的后端 Cloud Run 服务。处理来自多个区域的请求有助于提高服务的可用性以及对客户的响应延迟。请求到达离您的用户最近的区域,但是如果该区域不可用或容量不足,请求将被路由到其他区域。

    启用此功能就像将 Cloud Run 服务部署到不同区域、设置多个无服务器 NEG 并将负载平衡器连接到全局后端服务一样简单。

    您将在此处找到有关Configuring Standard Tier for HTTP(S) and TCP/SSL Proxy Load Balancing 的更多详细信息。

    我建议首先将其测试为概念验证,以避免影响您的产品环境。

    图片取自上述文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-23
      • 1970-01-01
      • 1970-01-01
      • 2022-08-19
      • 2021-04-04
      • 2021-10-25
      • 1970-01-01
      • 2020-05-31
      相关资源
      最近更新 更多