Events
Este documento detalla los mecanismos de mensajería utilizados en el microservicio de Asignación de Ubicaciones, incluyendo el propósito de cada evento, el formato de los mensajes y cómo se manejan los errores o reintentos.
Visión General
Section titled “Visión General”El microservicio de Asignación de Ubicaciones utiliza una arquitectura basada en eventos para notificar a otros servicios sobre cambios en las asignaciones. La implementación actual registra eventos pero está diseñada para extenderse y utilizar AWS Simple Notification Service (SNS) para implementar un patrón de publicador/suscriptor.
Evento de Asignación Creada
Section titled “Evento de Asignación Creada”Nombre: assignment-created-event
ARN en Producción:
arn:aws:sns:us-east-1:123456789012:assignment-created-eventARN en Staging:
arn:aws:sns:us-east-2:123456789012:assignment-created-eventPropósito: Notificar a otros servicios cuando se crea una nueva asignación de ubicación.
Productores:
- Caso de uso
Createa través del observadorAssignmentCreatedEmittery el despachadorSnsAssignmentEventDispatcher
Formato del Mensaje:
interface AssignmentCreatedEvent { type: 'AssignmentCreated' data: { id: string productId: string locationId: string status: string createdAt: string updatedAt: string } context: { country: string warehouse: string }}Evento de Asignación Actualizada
Section titled “Evento de Asignación Actualizada”Nombre: assignment-updated-event
ARN en Producción:
arn:aws:sns:us-east-1:123456789012:assignment-updated-eventARN en Staging:
arn:aws:sns:us-east-2:123456789012:assignment-updated-eventPropósito: Notificar a otros servicios cuando se actualiza una asignación de ubicación existente.
Productores:
- Caso de uso
UpdateStatea través del observadorAssignmentUpdatedEmittery el despachadorSnsAssignmentEventDispatcher
Formato del Mensaje:
interface AssignmentUpdatedEvent { type: 'AssignmentUpdated' data: { id: string productId: string locationId: string status: string createdAt: string updatedAt: string } context: { country: string warehouse: string }}