0

我计划在我的应用程序中使用 Amazon EventBridge。我看到事件被限制超过某些配额。虽然它在 100 到几 1000 的范围内,但我不想丢失事件并主动添加更多总线来处理高速事件。从 API 中,我看到 PutEvents 抛出500异常https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html

有没有人可靠地使用 PutEvents 异常来处理这种情况并添加总线?我看到有FailedEntryCount,但文档没有说明失败的原因。所以,我不确定我是否可以依靠。我可以使用其他服务(SQS、DB),但想将 EventBridge 用于我的用例。

如果有另一条路线 (CloudTrail PutEvents) 或 CloudWatch Logs 需要处理,我愿意倾听。

4

1 回答 1

1

EventBridge 的 PutEvents API 具有软限制,并且可以按账户增加。

如我所见,您有两个问题:一个是节流的工作原理,另一个是FailedEntryCount.

节流

限制将在操作本身上进行(即当您调用 PutEvents 时)(提示:尝试一次最多批处理 10 个事件 - 将有助于延迟)。如果您受到限制,AWS 开发工具包将暂时重试,假设您的调用率并未显着且持续高于分配的限制。如果重试几次后仍然受到限制,则整个操作将失败。如果是这样,您可以放心地假设您的事件没有被摄取。

我建议监控节流/错误率和数量,以主动增加 EventBridge 中的 PutEvents 限制。有多种选择可以做到这一点,所以我不会在这里包括。

无论哪种方式,请联系 AWS Support,了解他们如何帮助提高限制。

失败条目计数

由于这是一个批处理 API,您应该始终检查 FailedEntryCount > 0,并重试未能摄取的条目(如果适用)。FailedEntryCount可以依赖它,因为它明确告诉您条目失败,您应该检查响应以了解哪些条目失败。

于 2020-08-20T23:52:24.260 回答