Google Cloud Run 并发限制 + 自动扩展说明

aba*_*haw 1 google-cloud-platform google-cloud-run

Google Cloud Run 允许每个容器指定指定的请求并发限制。输入字段的潜台词是“当达到这个并发数时,启动一个新的容器实例”两个澄清问题:

  1. 有没有办法设置 Cloud Run 来预测达到并发限制,并在此之前生成一个新容器,以确保超过容器 1 并发限制的请求由容器 2 无缝处理,而冷启动时间不会影响容器 1 的并发限制。要求?

  2. 想象一下,我们将最大实例数设置为10并发性设置为 10 ,并且当前正在处理 100 个请求(即我们已经最大化了容量并且无法再自动扩展)。第 101 个请求会发生什么?会排队一段时间,还是会立刻退回5XX?

Joh*_*ley 5

有没有办法设置 Cloud Run 来预测达到并发限制,并在此之前生成一个新容器,以确保超过容器 1 并发限制的请求由容器 2 无缝处理,而冷启动时间不会影响容器 1 的并发限制。要求?

不会。Cloud Run 不会尝试预测未来的流量模式。

想象一下,我们将最大实例数设置为 10,并发性设置为 10,并且当前正在处理 100 个请求(即我们已最大化容量并且无法再自动扩展)。第 101 个请求会发生什么?会排队一段时间,还是会立刻退回5XX?

429 Too Many Requests将返回HTTP 错误。

[编辑 - 有关请求排队的 Google Cloud 文档]

在正常情况下,您的修订通过创建新实例来扩展以处理传入流量负载。但是,当您设置最大实例限制时,在某些情况下将没有足够的实例来满足该流量负载。在这种情况下,传入请求排队最多 60 秒。在此 60 秒的窗口期间,如果实例完成处理请求,则它可以处理排队的请求。如果在 60 秒窗口内没有可用实例,请求将失败,并在 Cloud Run(完全托管)上​​显示 429 错误代码。

关于最大容器实例数