

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

# Amazon EventBridge
<a name="eventbridge"></a>

[Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) 是无服务器事件总线服务，通常是事件驱动型架构（EDA）的基础。您还可以用其在微服务之间异步路由和传送消息。生产者使用 EventBridge 将事件发布到总线。您可以配置基于事件内容的匹配规则，并选择一个或多个目标，用于接收符合该规则的事件。EventBridge 支持[多种规则目标](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html)。事件总线可助力将生产者与使用者分开，并整合路由和传送逻辑。

在 EventBridge 中，您还可以创建定时规则，以便在特定时间执行操作。可以使用基于 cron 和基于速率的表达式来定义事件。

借助 [EventBridge Pipes](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html)，您无需使用计算服务（如 AWS Lambda）即可将消息从[源](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes-event-source.html)传输到[目标](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes-event-target.html)。例如，假设您有一个接收消息的 SQS 队列，该队列应触发 AWS Step Functions 状态机。与其创建一个具有事件源映射的 Lambda 函数来从队列中使用消息，并使用 AWS SDK 编写代码来调用状态机，不如直接使用 EventBridge 管道来完成这些操作，无需编写任何自定义代码。

EventBridge 通常与其他消息传送服务一起使用，例如 Amazon SQS 和 Amazon SNS。例如，将事件传送到 SQS 队列时，接收服务能够灵活地在自身具备处理能力时使用消息，使用速率与事件生成速率无关。同样，您也可以将应向大量订阅用户分发的事件发布到 SNS 主题。

## 指南
<a name="eventbridge-guidance"></a>

请在下列情况下使用 EventBridge：
+ 不需要在服务之间进行同步通信。
+ 想要将消息路由逻辑与微服务解耦。微服务仅负责生成事件并将其发布到事件总线，感兴趣的服务会创建规则来匹配并分发这些事件。
+ 您需要将消息从一项支持的服务传送到另一项支持的服务。

下列情况下，可以考虑其他服务：
+ 需要对事件进行严格的排序。在这些情况下，考虑 Amazon SQS FIFO 队列或 Amazon SNS FIFO 主题。或者，考虑 Amazon Kinesis Data Streams、Amazon Managed Streaming for Apache Kafka（Amazon MSK）等事件流服务。