在 Amazon 中定义规则时的最佳实践 EventBridge - Amazon EventBridge

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 Amazon 中定义规则时的最佳实践 EventBridge

以下是为事件总线创建规则时需要考虑的一些最佳实践。

为每条规则设置单一目标

虽然您最多可以为给定规则指定五个目标,但如果为每条规则指定单一目标,管理规则将会更加轻松。如果多个目标需要接收同一组事件,我们建议复制该规则,将相同的事件传送到不同目标。这种封装简化了规则的维护:如果事件目标的需求随着时间的推移而出现差异,则可以独立于其他规则更新每条规则,及其事件模式。

设置规则权限

您可以进行设置,使使用事件的应用程序组件或服务能够控制各自规则的管理。客户采用的一种常见架构方法是使用单独的 AWS 帐户来隔离这些应用程序组件或服务。要使事件从一个账户流向另一个账户,必须在一条事件总线上创建一个规则,将事件路由到另一个账户中的事件总线。您可以进行设置,使使用事件的团队或服务能够控制各自规则的管理。方法是通过资源策略为他们的账户指定适当的权限。这适用于所有账户和区域。

有关更多信息,请参阅 在 Amazon 中使用活动总线的权限 EventBridge

有关资源政策的示例,请参阅 Amaz EventBridge on GitHub 开启的多账户设计模式

监控规则性能

监控您的规则,确保其执行符合您的预期:

  • 监控 TriggeredRules 指标中是否存在缺失的数据点或异常,可以帮助您检测发布者做出的重大更改的差异。有关更多信息,请参阅 监控亚马逊 EventBridge

  • 异常警报或预期计数上限也有助于检测某规则何时与新事件匹配。在启用新的使用案例和功能时,如果包括 AWS 服务和 SaaS 合作伙伴在内的事件发布者引入新事件,就会发生这种情况。如果这些新事件在意料之外,并且导致处理量高于下游目标的处理速度,它们可能会导致事件积压。

    对意外事件的此类处理也可能导致不必要的账单费用。

    当账户超过其每秒总目标调用次数服务配额时,它还可以触发规则限制。 EventBridge 仍会尝试传送符合限制规则的事件,并在最长 24 小时内重试,或者按照目标的自定义重试策略中的说明进行重试。您可以使用 ThrottledRules 指标检测节流规则并发出警报

  • 对于低延迟使用场景,您还可以使用 IngestionToInvocationStartLatency 监控延迟,它可以指示事件总线的运行状况。任何超过 30 秒的高延迟时间段都可能表示服务中断或规则节流。