示例 Amazon Event Fork Pipeline 使用案例 - Amazon Simple Notification Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

示例 Amazon Event Fork Pipeline 使用案例

以下场景描述了一个事件驱动的、无服务器电子商务应用程序,该应用程序使用 Amazon Event Fork Pipelines。您可以在 Amazon Serverless Application Repository 中使用此示例电子商务应用程序,然后使用 Amazon Lambda 控制台将其部署到您的 Amazon Web Services 账户,您可以在其中测试它并在 GitHub 中检查其源代码。

此电子商务应用程序通过由 API Gateway 托管并由 Amazon Lambda 函数 CheckoutApiBackendFunction 支持的 RESTful API 来获取买方的订单。此函数将收到的所有订单发布到名为 CheckoutEventsTopic 的 Amazon SNS 主题,该主题转而将订单分散到四个不同的管道。

第一个管道是由电子商务应用程序的拥有者设计和实现的常规结算处理管道。此管道具有 Amazon SQS 队列 CheckoutQueue(此队列缓冲所有收到的订单)、一个名为 CheckoutFunction 的 Amazon Lambda 函数(此函数轮询队列以处理这些订单)和 DynamoDB 表 CheckoutTable(此表安全地保存所有已下订单)。

应用 Amazon Event Fork Pipeline

电子商务应用程序的组件处理核心业务逻辑。但是,电子商务应用程序拥有者还需满足:

  • 合规性 - 安全的、压缩的静态加密备份,清理敏感信息

  • 弹性 - 在执行过程中断的情况下重播最近的订单

  • 可搜索性 - 对已下订单运行分析并生成指标

应用程序拥有者可为 Amazon Event Fork Pipelines 订阅 CheckoutEventsTopic Amazon SNS 主题,而不是实施此事件处理逻辑

在事件搜索与分析管道的配置中设置以下 JSON 筛选策略。它仅匹配总金额为 100 美元或更多的传入订单。有关更多信息,请参阅 Amazon SNS 消息筛选

{ "amount": [{ "numeric": [ ">=", 100 ] }] }

使用 Amazon Event Fork Pipelines 模式,电子商务应用程序拥有者可以避免在编写用于事件处理的一致逻辑后经常产生的开发开销。相反,她可以直接从 Amazon Serverless Application Repository 将Amazon Event Fork Pipelines 部署到其 Amazon Web Services 账户。