如何使用 Google 任务队列改进并发消息处理?

问题描述 投票:0回答:1

我使用以下配置设置了 Google 任务队列:

最大速率:500/秒

最大并发数:1000

最大突发大小:100

所以理论上它应该能够同时处理1000个任务。正在运行的任务平均需要约 10 秒,并在云函数中使用约 400mb 的内存。

我的队列通常会填满大约 300 个要处理的任务,我希望它们能够同时处理 300 个任务,但是队列一次最多处理 25 个任务,并且会累积到这个数字。通常每秒仅向该处理任务列表添加 1-2 个。

我在并发方面似乎缺少什么?我是否误解了谷歌任务的功能,或者是否有更多配置可以提高我的队列的并发能力?

google-cloud-platform concurrency google-cloud-functions google-cloud-tasks
1个回答
0
投票

Google Cloud Tasks 只是工作项的协调器,它执行诸如设置限制以避免实际执行工作的资源超载以及对未成功完成的工作执行重试等操作。就其本身而言,除了委派配置的工作项之外,它没有做太多事情。

听起来为您做实际工作的是 Cloud Functions,它有自己的配置来处理它可以处理的最大负载。您应该首先研究一下,以了解哪些地方可能受到限制。例如,最大实例数可以限制在任何给定时间系统可以处理的工作量。

© www.soinside.com 2019 - 2024. All rights reserved.