google-cloud-platform - 订阅 PubSub 主题的速率限制/节流谷歌云功能
问题描述
所以我有一个订阅 Pub/Sub 主题的云函数,该函数与具有硬速率限制的 3rd 方服务 API 交互。这就产生了一个问题,当 PubSub 主题突然获得大量传入流量时,云函数将被频繁调用以超过 3rd 方 API 速率限制。
解决这个问题的最佳方法是什么?我是否能够限制 PubSub 主题,或者我必须在云功能中实现一些退避逻辑?谢谢!
解决方案
您可以在一定程度上控制 Cloud Functions 的缩放行为。从链接的文档中:
您可以在部署期间为单个函数设置最大实例。每个函数都可以有自己的最大实例数限制。函数彼此独立缩放。
要使用 gcloud 命令行工具设置最大实例限制,请在部署时使用 --max-instances 标志:
gcloud beta functions deploy FUNCTION_NAME --max-instances 10 FLAGS...
您必须弄清楚有多少并发实例在这个其他 API 的限制范围内。如果一个实例仍然能够生成太多请求,您将不得不实现自己的退避,因为您无法设置执行速率,只能设置已分配实例的最大数量。
推荐阅读
- c# - 为监听器创建协程
- jquery - 为什么 jquery toggle() 在引导弹出窗口中不能以形式工作
- c - 如何在不尝试以读取模式打开的情况下轻松检查文件是否存在?
- ios - iOS Swift4如何检查字符串是否不为零且不为空?
- javascript - 通过 axios 导入 Vue 组件并更新内容
- c# - C# oledb 查询值和目标字段的个数不一样
- awk - awk if/else 抛出错误
- php - 获取使用 ldap 进行 SSO 登录 windows 的用户
- linux - 如何在 linux 中解压 .vw.gz 文件?
- apache-spark - 为什么在 hadoop 上使用 H2O 时看不到 Yarn 中的特定任务执行?