如果批处理中有这么多事件,eventbridge 会限制 lambda 吗?

问题描述

我使用 AWS Eventbrige 事件总线作为触发 lambda 函数的源。 Eventbirge 不是低延迟服务,它大约每 250 毫秒向 lambda 发送一次事件。如果一批中有多个事件,它会多次触发 lambda,一次 lambda 调用一个事件。

我的问题是,如果一批中发生了 1000 多个事件,因为 eventbridge 尝试调用 lambda 超过 1000 次,它会限制 lambda(lambda 中的最大吞吐量为 1000)吗?如果是,我该如何解决这个问题?如果不是,额外事件的行为是什么?它们会被缓存还是删除

解决方法

EventBridge 将重试失败的调用(例如由于节流)长达 24 小时,因此事件会在这段时间内持续存在并且不会被删除。

https://docs.aws.amazon.com/eventbridge/latest/userguide/cloudwatch-limits-eventbridge.html#invocations-limits

如果由于目标服务问题、帐户限制等原因导致目标调用失败,则会针对特定调用进行最多 24 小时的新尝试。