Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Concurrency 如何使用谷歌云函数处理背压_Concurrency_Google Cloud Platform_Google Cloud Functions_Backpressure - Fatal编程技术网

Concurrency 如何使用谷歌云函数处理背压

Concurrency 如何使用谷歌云函数处理背压,concurrency,google-cloud-platform,google-cloud-functions,backpressure,Concurrency,Google Cloud Platform,Google Cloud Functions,Backpressure,使用google云功能,有没有一种方法可以像AWS Lambda那样管理执行并发性?() 我的目的是设计一个使用任务文件并将这些任务发布到工作队列(pub/sub)的函数。我想要一个函数,它使用工作队列(pub/sub)中的任务并执行任务 上述情况可能导致大量几乎并发的执行。我的dowstream使用者服务速度很慢,不能一次使用多个并发请求。很有可能,它会返回HTTP429响应,试图减慢生产者的速度 有没有一种方法可以像使用AWS那样限制给定Google云函数的并发性?此功能适用于Google云

使用google云功能,有没有一种方法可以像AWS Lambda那样管理执行并发性?()

我的目的是设计一个使用任务文件并将这些任务发布到工作队列(pub/sub)的函数。我想要一个函数,它使用工作队列(pub/sub)中的任务并执行任务

上述情况可能导致大量几乎并发的执行。我的dowstream使用者服务速度很慢,不能一次使用多个并发请求。很有可能,它会返回HTTP429响应,试图减慢生产者的速度

有没有一种方法可以像使用AWS那样限制给定Google云函数的并发性?

此功能适用于Google云函数。相反,因为您要求处理系统打开并发任务的速度,所以这是解决方案

推送队列以可靠、稳定的速率发送请求。它们保证可靠的任务执行。因为您可以控制从队列发送任务的速率,所以您可以控制工作人员的扩展行为,从而控制成本

在您的情况下,您可以控制调用下游使用者服务的速率。

您可以使用配额设置“每秒函数调用”的次数。这里有记录:


文档告诉您如何增加它,但您也可以减少它,以实现您想要的节流方式。

您可以通过控制触发器本身来控制触发云函数的速度。例如,如果您已将“在一个bucket中创建新文件”设置为云功能的触发器,那么通过控制在该bucket中创建了多少新文件,您可以管理并发执行。 不过,这样的解决方案并不完美,因为有时云功能会失败并自动重新启动(如果您以这种方式配置了云功能),而您无法对其进行任何控制。实际上,云功能的活动实例数量有时会超过您的计划。
AWS提供的是一个简洁的特性

这在当前的gcloud测试版中是可能的!您可以设置一个可以同时运行的最大值:

gcloud beta functions deploy FUNCTION_NAME --max-instances 10 FLAGS...

请参阅文档

谢谢。根据这些思路,我发现以下内容可供参考:这个答案现在已经过时了。请参见下面的另一个答案:。您无法设置任何内容。该页面只记录了硬限制。@Doug-向下滚动页面的末尾,您将看到一个增加配额的链接。在该页面上,您还可以减少配额。并发级别不是可设置的配额。这是一个硬限制。转到页面,亲自查看。DougStevenson认为并发后台调用是不可设置的,这是对的。我把那个名字贴错了。你能做的(我相信你知道)是设置每秒最大请求数——这可能会有正确的效果。我将更新我以前的答复。