Amazon EventBridge 热门2019年〜
路由来自 AWS 服务和 SaaS 应用事件的无服务器事件总线
它能做什么
Amazon EventBridge 是接收来自 AWS 服务、SaaS 应用和自定义应用的事件 (事件通知),并根据规则路由到适当目标 (处理方) 的无服务器事件总线服务。例如可以将 EC2 实例状态变化、S3 文件上传、定时计划等事件作为触发器,分发到 Lambda 函数或 SQS 队列等进行处理。
使用场景
适用于根据 AWS 资源状态变化的自动处理、定期批处理调度、与 SaaS 应用 (Zendesk、Datadog 等) 的集成、微服务间的事件驱动架构、通过自定义事件的应用集成等事件驱动系统构建。
日常类比
可以将其比作机场的控制塔。控制塔 (EventBridge) 接收来自各航空公司 (事件源) 的航班信息 (事件),根据目的地 (规则) 引导到适当的跑道 (目标)。没有控制塔各航空公司需要单独联络,有了控制塔的统一管理可以高效运营。
什么是 EventBridge
Amazon EventBridge 是用于构建事件驱动架构的无服务器事件总线。事件总线是中介事件发布者和接收者的基础设施。EventBridge 是 CloudWatch Events 的后继服务,除了 AWS 服务的事件外,还能统一处理来自 SaaS 合作伙伴和自定义应用的事件。
规则与目标
EventBridge 的规则是事件过滤条件和目标 (投递目的地) 的组合。通过定义事件模式,可以只处理匹配特定条件的事件。例如可以设置仅将 EC2 实例停止事件发送到 Lambda 函数的规则。一条规则最多可设置 5 个目标,支持 Lambda、SQS、SNS、Step Functions 等 20 多种目标。
调度功能
EventBridge Scheduler 是调度定期任务执行的功能。通过 cron 表达式或 rate 表达式指定执行间隔,可定期执行 Lambda 函数或 Step Functions。例如可以设置每天凌晨 3 点执行数据备份、每 5 分钟进行健康检查等计划。还支持时区指定和一次性计划执行。 如需全面学习调度功能的最佳实践,推荐参阅 Amazon 上的相关书籍。
入门指南
要开始使用 EventBridge,在 EventBridge 控制台创建规则。选择事件源 (AWS 服务或计划),定义事件模式。指定 Lambda 函数或 SQS 队列作为目标后,匹配条件的事件会自动投递到目标。创建计划规则可以像 cron 作业一样轻松设置定期执行。
注意事项
- Custom event publishing costs about $1 per million events, but estimate costs when publishing large volumes
- Incorrect event patterns may deliver unintended events to targets, so thoroughly test in a development environment
- Events from AWS services to the default event bus are free