我有一个云函数,它是从Pub/Sub主题触发的。
我希望限制我的云函数,所以我将最大的实例设置为5。在我的例子中,产生的消息将比云函数多得多(而且我希望限制运行的云函数的数量)。
我预期这个过程会像Kafka/queue一样--主题消息将被累积,而Cloud函数将缓慢地消耗消息,直到主题为空。
但似乎所有没有触发云功能(ack)的消息都只是发送了UNACK,而留下了一个。我的订阅详情:

ack的截止期限最大值对我来说太低了(因为速率限制,云功能可能需要几个小时才能到达消息)。
我可以在酒吧/分店换什么东西来满足我的需要?还是我需要加入一个队列?(Pub/Sub发送到任务队列,而Cloud函数使用任务队列?)。
顺便说一下,pub/sub数据实际上是GCS事件。如果这是AWS,我只需将S3文件创建的事件发送到SQS,并在队列的另一端使用Lambdas。
任何帮助都将不胜感激。
发布于 2021-10-06 09:27:11
理想的解决方案是简单地改变重试策略。当使用“指数后退延迟后重试”时,Pub/Sub 即使在最大指数延迟 (600秒)之后也会继续重试。这样,您就可以在Pub/Sub中获得很多消息,并通过一些云函数来缓慢地处理它们--这符合我们对速率限制的需要。
基本上,一切都是一样的,但是这个配置发生了变化,结果是:

这正是我想要的:)
发布于 2021-08-19 11:41:46
您不能与kafka相比,因为您的kafka用户正在利用它的方便来提取消息,而Cloud ( CF )则创建了一个推送订阅,将消息推送到CF。因此,一些替代方案:
https://stackoverflow.com/questions/68846676
复制相似问题