【问题标题】:Cloud function set limit max instances云函数设置限制最大实例
【发布时间】:2021-08-20 07:12:55
【问题描述】:
我目前正在尝试找出一种方法来限制云功能请求,以保护自己免受巨额账单的影响。如果我将 Max instances 设置为 0,我的函数是否仍会接受请求,如果是,那么当它达到预期限制时,我可以在 firestore 中添加一个计数器增量吗?云函数会将 Max instances 设置为 0,这会让我免于意外账单
是否有任何其他服务具有限制选项,我不想随收随付
【问题讨论】:
标签:
google-cloud-platform
google-cloud-functions
【解决方案1】:
如果我将 Max instances 设置为 0,我的函数是否仍会接受请求?
我怀疑您是否可以一开始就将其设置为 0。如果您将鼠标悬停在 Autoscaling 输入字段的信息 (❔) 图标上,它会显示 “留空或设置为 0 以清除此控件并根据需要自动创建新实例。” 这实际上意味着输入 0 将删除最大限制。
当 Firestore 达到预期的限制云功能时,我可以在 Firestore 中添加一个计数器增量吗
您可以通过在每次调用后增加数据库中的计数来跟踪调用总数,并尝试使用Cloud Functions REST API 到update 和maxInstances 到一个低得多的数字(不是0,原因如上所述)根据需要。
来自documentation,
当您指定最大实例限制时,您就是在指定一个上限。设置较大的限制并不意味着您的函数将扩展到指定数量的实例。它只是意味着在任何时间点共存的实例数量不应超过限制
在某些情况下,例如快速流量激增,Cloud Functions 可能会在短时间内创建超过指定的最大实例限制的实例。如果您的函数不能容忍这种临时行为,您可能需要考虑安全边际并设置比您的函数可以容忍的更低的最大实例值。