使用 SP-API 构建事件驱动架构
事件驱动架构模式是一种异步架构设计模型,它使用事件来连接系统的解耦独立组件。
事件驱动型架构模式是一种异步架构设计模型。此架构使用事件来连接系统中已分离的独立组件。这些组件通常是执行特定任务的微服务。事件驱动型架构不是包含所有逻辑的单一应用程序,而是利用小组件来生成和响应事件。这些事件代表状态变化或其他类型的更新。
事件驱动架构的关键元素是生产者和消费者。生产者生成一个由一个或多个消费者处理的事件,以执行不同的任务。通常,一个应用程序由多个生产者和消费者组成。这些任务共同完成了业务用例。
事件驱动架构可以通过解耦组件和缩短开发生命周期来提高应用程序的性能。你可以使用 通知 API 来实现这个设计模型。
事件驱动架构的好处
构建事件驱动架构可以改善应用程序的性能、成本、可靠性、可扩展性和开发生命周期。这些优势包括:
-
事件驱动的应用程序在实时响应事件时表现更好。相比之下,按计划提取数据的架构会带来延迟。
-
对事件做出反应可以减少不必要的工作量,这有助于通过节省资源和使用量来削减成本。
-
事件驱动的架构调用模式减少了第三方服务的负载。减少负载消除了速率限制瓶颈,减少了节流错误。
-
解耦的组件可以独立扩展和失效。解耦组件可以根据个人需求适应需求,从而减少故障的影响。
-
当架构更简单时,开发生命周期会缩短,这使得它更容易适应新的用例。
通知和事件驱动架构
销售伙伴 API (SP-API) 提供通知 API,使用户能够构建事件驱动型架构。借助通知 API,您可以订阅不同的事件类型,并接收有关亚马逊业务相关变更的通知。
各种通知类型涵盖的用例包括:清单状态变更、订单更新、激活费用促销、报告处理完成和商品定义变更。
SP-API 提供两种接收通知的工作流程。一个工作流程使用 亚马逊简单队列服务 (亚马逊 SQS) 以及其他用途 亚马逊 eventBridge 作为事件的路由器。根据您要订阅的通知类型,您需要实现其中一个工作流程。
亚马逊 SQS
亚马逊 SQS 是一种完全托管的消息队列服务,允许接收来自不同来源的消息并进行相应的处理。使用 Amazon SQS 为接收和处理与客户业务相关的事件提供了一种可扩展、高度可用且安全的解决方案。Amazon SQS 提供了多种处理传入消息的替代方案,为您的应用程序需求提供灵活性。这包括与的集成 AWS Lambda 函数,然后使用 亚马逊 SQS API。
Amazon SQS SP-API 通知工作流程的典型架构由消息队列和这些事件的使用者组成。消息队列托管在亚马逊网络服务 (AWS) 账户中,接收有关销售合作伙伴订阅的事件的通知。消息处理是异步进行的,基于应用程序支持的业务用例。
如教程:设置通知(亚马逊简单队列服务工作流程)中所述,配置此工作流程的步骤包括:
- 在您的 AWS 账户中创建 Amazon SQS 队列。
- 授予 SP-API 写入队列的权限。
- 在 SP-API 中创建亚马逊 SQS 目的地。
- 为销售伙伴订阅通知类型。
为了简化此工作流程的构建,亚马逊提供了快速入门,只需点击几下即可在您的 AWS 账户中创建工作架构,重点介绍报告处理用例。要创建所需的基础架构,公开 API 端点以进行通知管理,并将其扩展到通知 API 支持的任何其他用例,请按照中的步骤操作 销售合作伙伴报告 API 报告通知 在 AWS 快速入门部署指南。
亚马逊 eventBridge
亚马逊 eventBridge 是一种无服务器事件总线,它允许接收来自各种 AWS 服务和客户端应用程序的事件,并将它们相应地分配到不同的目标进行处理。EventBridge 是一项托管的容错服务,可根据传入流量进行扩展。您可以使用 EventBridge 定义自定义规则,在将事件发送到选定目标之前对其进行筛选和转换,这简化了软件组件之间的集成。EventBridge 支持 40 多个软件即服务事件源,用于提取数据和多个目的地,包括 AWS Lambda、API 网关和自定义 HTTP 终端节点。
SP-API EventBridge 通知工作流程的典型架构由托管在 AWS 账户中的事件总线组成,该总线接收:
- 卖家合作伙伴订阅的活动通知
- 一个或多个自定义规则及其对应的目标
消息处理是异步进行的,基于应用程序支持的业务用例。
如教程:设置通知(亚马逊 EventBridge 工作流程)中所述,配置此工作流程的步骤包括:
- 在 SP-API 中创建 EventBridge 目的地。
- 将事件源与事件总线关联。
- 创建规则并将其与事件总线关联。
- 为销售伙伴订阅通知类型。
Updated 23 days ago