Event-driven con RabbitMQ y NestJS
Los eventos desacoplan servicios pero introducen complejidad operativa. RabbitMQ con NestJS Microservices es un combo sólido si entendés los trade-offs.
Consumidor idempotente
typescript@EventPattern('order.created') async handleOrderCreated(@Payload() data: OrderCreatedEvent) { const processed = await this.idempotencyStore.has(data.eventId); if (processed) return; await this.ordersService.fulfill(data.orderId); await this.idempotencyStore.mark(data.eventId); }
Sin idempotencia, un reintento de red te duplica pedidos, emails y cargos. Siempre diseñá consumidores asumiendo at-least-once delivery.
¿Te sirvió este post?
Discusión
2 comentariosJG
Juana GómezHace 2 horas
Excelente desglose. La explicación del Request scope me vino al pelo.
¿Te gustó el artículo?
Suscribite para recibir las últimas publicaciones directo en tu email.