因此,我有一个订阅了发布/订阅主题的云功能,并且该功能与具有硬费率限制的第三方服务API进行了交互。这就产生了一个问题,当PubSub主题突然收到大量传入流量时,云函数将被频繁调用以超过第三方API速率限制。
解决此问题的最佳方法是什么?我是否可以限制PubSub主题,或者必须在云函数中实现一些退避逻辑?谢谢!
答案 0 :(得分:1)
您可以control the scaling behavior of Cloud Functions到某种程度。从链接的文档中:
您可以在以下过程中为单个功能设置最大实例数 部署。每个函数可以有自己的最大实例数限制。 功能相互独立扩展。
要使用gcloud命令行工具设置最大实例数限制,请使用 部署时--max-instances标志:
gcloud beta functions deploy FUNCTION_NAME --max-instances 10 FLAGS...
您将必须确定在此其他API的限制内有多少个并发实例。如果一个实例仍然能够生成太多请求,则您将必须执行自己的退避,因为您无法设置执行速率,而只能设置已分配实例的最大数量。