云函数实例如何处理多个请求?

cbd*_*per 5 node.js firebase google-cloud-functions

我试图了解 Cloud Function 的实例以及它们的工作原理。

我询问的是 HTTP 函数的示例,但我认为该概念适用于任何类型的函数。

  • 假设我有一个为我的应用程序处理SSR 的ssrApp云函数,名为.
  • 我们假设1 second每次收到请求时都需要完成。
  • 当Cloud Function收到第一个请求时,它将启动一个实例来响应它。

问题

当多个请求到来时,该实例如何表现?

来自: https: //cloud.google.com/functions/docs/concepts/exec

函数的每个实例一次仅处理一个并发请求。这意味着当您的代码正在处理一个请求时,不可能将第二个请求路由到同一实例。因此,原始请求可以使用您请求的全部资源(CPU 和内存)。

这是否意味着在1 second我的ssrApp函数运行期间,如果有人点击我的应用程序 URL,则可以保证 Cloud Function 将为第二个请求启动另一个实例?函数在执行过程中只sync调用还是进行一些调用有什么关系吗?async我的意思是,async调用可以释放实例以并行响应另一个请求吗?

Fra*_*len 6

这是否意味着在我的 ssrApp 函数运行的那 1 秒内,如果有人点击我的应用程序 URL,则可以保证 Cloud Function 将为第二个请求启动另一个实例?

这是一般行为,尽管调度方面没有任何保证。

函数在执行过程中只进行同步调用还是进行一些异步调用,这有什么关系吗?我的意思是,异步调用可以释放实例以并行响应另一个请求吗?

不,那没有什么区别。如果容器正在等待异步调用,则它仍然被认为正在使用中。