Volver al archivo
NestJS22 MAR, 20261 min lectura

Event-driven con RabbitMQ y NestJS

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 comentarios
JG
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.