Cree una arquitectura basada en eventos con SP-API
El patrón de arquitectura basado en eventos es un modelo de diseño de arquitectura asincrónico que utiliza eventos para conectar componentes independientes y desacoplados de un sistema.
El patrón de arquitectura dirigida por eventos es un modelo de diseño de arquitectura asíncrona. Esta arquitectura utiliza eventos para conectar componentes desacoplados e independientes de un sistema. Estos componentes suelen ser microservicios que ejecutan tareas específicas. En lugar de una aplicación monolítica que contenga toda la lógica, una arquitectura dirigida por eventos utiliza pequeños componentes que generan eventos y reaccionan a ellos. Estos eventos representan cambios de estado u otros tipos de actualizaciones.
Los elementos clave de la arquitectura basada en eventos son los productores y los consumidores. Un productor genera un evento que es procesado por uno o más consumidores para ejecutar diferentes tareas. Normalmente, una aplicación se compone de varios productores y consumidores. En conjunto, estas tareas dan como resultado un caso de uso empresarial.
Event-driven architectures can improve the performance of your applications by decoupling components and reducing the development lifecycle. You can use the Notifications API to implement this design model.
Ventajas de la arquitectura basada en eventos
El desarrollo de una arquitectura basada en eventos beneficia al rendimiento, coste, fiabilidad, escalabilidad y ciclo de vida de desarrollo de una aplicación. Algunos ejemplos de estos beneficios son:
-
Las aplicaciones basadas en eventos funcionan mejor cuando reaccionan a los eventos en tiempo real. Esto se compara con los esquemas que extraen datos de forma programada, lo que introduce retrasos.
-
Reaccionar a los eventos reduce la cantidad de trabajo innecesario, lo que ayuda a reducir los costos al ahorrar recursos y uso.
-
El patrón de llamadas de la arquitectura basada en eventos reduce la carga de los servicios de terceros. La reducción de las cargas elimina el embotellamiento del límite de velocidad y reduce los errores de limitación.
-
Los componentes desacoplados pueden escalar y fallar de forma independiente. Los componentes desacoplados pueden adaptarse a la demanda en función de las necesidades individuales, lo que puede reducir el impacto de las fallas.
-
El ciclo de vida del desarrollo se acorta cuando la arquitectura es más simple, lo que facilita la adaptación a los nuevos casos de uso.
Arquitectura basada en eventos y notificaciones
Selling Partner API (SP-API) provides the Notifications API, which you can use to build an event-driven architecture. With the Notifications API, you can subscribe to different event types and receive notifications about relevant changes to your Amazon businesses.
Los casos de uso que abarcan los distintos tipos de notificación incluyen: cambios en el estado de los listados, actualizaciones de pedidos, activaciones de promociones de tarifas, finalización del procesamiento de informes y cambios en la definición del producto.
Caso de uso | Tipo de notificación |
---|---|
Gestión de pedidos | ORDER_STATUS_CHANGE |
Gestión y envío de listings | LISTINGS_ITEM_STATUS_CHANGE LISTINGS_ITEM_ISSUES_CHANGE PRODUCT_TYPE_DEFINITIONS_CHANGE |
Precios de productos | ANY_OFFER_CHANGED B2B_ANY_OFFER_CHANGED PRICING_HEALTH |
Tarifas promocionales | FEE_PROMOTION |
Gestionado por Amazon (Logística de Amazon) | FBA_OUTBOUND_SHIPMENT_STATUS |
Gestión logística multicanal | FULFILLMENT_ORDER_STATUS |
Gestión del vendedor | ORDER_CHANGE |
Gestión de marca | BRANDED_ITEM_CONTENT_CHANGE ITEM_PRODUCT_TYPE_CHANGE |
Gestión de cuentas del colaborador comercial | ACCOUNT_STATUS_CHANGED |
Procesamiento de informes | REPORT_PROCESSING_FINISHED |
Envío de ficheros | FEED_PROCESSING_FINISHED |
SP-API offers two workflows to receive notifications. One workflow uses Amazon Simple Queue Service (Amazon SQS) and the other uses Amazon EventBridge as routers for events. Depending on the notification type you want to subscribe to, you'll need to implement one of these workflows.
Amazon SQS
Amazon SQS is a fully managed message queuing service that enables the receipt of messages from different sources and their corresponding processing. The use of Amazon SQS provides a scalable, highly available, and secure solution for receiving and processing events that are relevant to the customer’s business. Amazon SQS offers multiple alternatives for processing incoming messages to provide flexibility for your application needs. This includes integration with AWS Lambda functions and using the Amazon SQS API.
Una arquitectura típica para el flujo de trabajo de notificaciones de SP-API de Amazon SQS consiste en una cola de mensajes y un consumidor para esos eventos. La cola de mensajes está alojada en una cuenta de Amazon Web Services (AWS) y recibe notificaciones de los eventos a los que está suscrito el socio vendedor. El procesamiento de los mensajes se realiza de forma asincrónica y se basa en los casos de uso empresarial compatibles con la aplicación.
The steps for configuring this workflow, as explained in Tutorial: Set up notifications (Amazon Simple Queue Service workflow) are:
- Cree una cola de Amazon SQS en su cuenta de AWS.
- Concesión de permisos de SP-API para escribir en la cola.
- Cree un destino de Amazon SQS en SP-API.
- Suscripción de un colaborador comercial a un tipo de notificación.
To simplify building this workflow, Amazon provides a Quick Start that creates a working architecture in your AWS account with just a few clicks, and focuses on the report processing use case. To create the required infrastructure, expose API endpoints for notification management, and extend it to any other use case supported by the Notifications API, follow the steps in Selling Partner Reports API Reports Notifications in the AWS Quick Start Deployment Guide.
Amazon EventBridge
Amazon EventBridge is a serverless event bus that enables the reception of events from a variety of AWS services and client applications, as well as their corresponding distribution to different targets for processing. EventBridge is a managed, fault-tolerant service that scales based on incoming traffic. You can use EventBridge to define custom rules to filter and transform events before sending them to selected targets, which simplifies the integration between software components. EventBridge supports more than 40 Software-as-a-Service event sources for ingesting data and multiple destinations, including AWS Lambda, API Gateway, and custom HTTP endpoints.
Una arquitectura típica para el flujo de trabajo de notificaciones de EventBridge de SP-API consiste en un bus de eventos que se aloja en la cuenta de AWS que recibe:
- Notificaciones de eventos a los que está suscrito el socio vendedor
- Una o más reglas personalizadas y sus objetivos correspondientes
El procesamiento de los mensajes se realiza de forma asincrónica y se basa en los casos de uso empresarial que admite la aplicación.
The steps for configuring this workflow, as explained in Tutorial: Set up notifications (Amazon EventBridge workflow) are:
- Cree un destino de EventBridge en SP-API.
- Asociación de la fuente de eventos a un bus de eventos.
- Cree una regla y asóciela al bus de eventos.
- Suscripción de un colaborador comercial a un tipo de notificación.
Updated 23 days ago