google-cloud-platform - Google Cloud Function:获取请求的区域
问题描述
我正在用 PHP 开发一个 API。我需要知道在哪个区域请求此 api。如果可能的话,使用最低延迟策略(尽管我没有找到任何帮助)。
为此,我在我的云功能中使用了带有 CDN 的全局负载均衡器。
我试图查看请求标头和环境变量,但没有任何东西让我想起带有 CDN 的全局负载均衡器正在缓存 API 的区域。
从现在开始,我非常感谢任何帮助......
解决方案
如果你在处理请求的时候想知道你后端的用户所在的地区,就不能使用CDN。您需要让所有请求转到您的 Cloud Functions。
如果您想获得最低延迟,您可以在 GCP 的多个(全部?)区域中部署相同的功能,并在它们前面放置一个带有无服务器 NEG 的负载均衡器。
这样,请求将在最接近请求者的地方提供服务,您将能够获取请求者的 IP 并从中推断出区域。您还可以依靠 Cloud Functions 区域来了解哪个区域处理用户请求,而无需知道用户 IP 位置的确切位置。
推荐阅读
- css - 一旦路由加载而不显示它们,我如何在 Vue.js 中加载图像?
- mysql - TypeORM Google Cloud SQL 迁移失败
- python - 如何将字符串添加到列表中的特定元素?
- java - 如何使用 Arraylist 忽略逗号并打印出元素
? - c# - Newtonsoft.json 不遵循默认行为
- python - 熊猫子情节标题大小
- html - 引导表响应;表不会填满整个包装
- azure - Azure 持久函数和同步读取?
- fluid-framework - 如何在流体框架中理解 SequencedLambda(KafkaRunner) 和 DocumentPartition(DocumentLambda) 及其相关内容
- google-api - 上传时锁定 Youtube 视频隐私