Arquitetura de back-end

Microsserviço de Pedidos/Faturas Orientado a Eventos

Uma arquitetura de microsserviços altamente escalável que utiliza Design Orientado a Domínio e Padrão de Caixa de Saída para garantir entrega confiável de mensagens.

The challenge

Em um sistema distribuído, garantir a consistência dos dados em vários serviços sem depender de transações distribuídas lentas (confirmações de duas fases) é um grande obstáculo arquitetônico. O cliente experimentou mensagens perdidas e estados inconsistentes durante eventos de alto tráfego.

The solution

Redesenhamos o fluxo principal de pedidos e faturas usando uma arquitetura orientada a eventos. Ao implementar o padrão Transactional Outbox, garantimos a entrega de mensagens pelo menos uma vez para Kafka/RabbitMQ. Projetamos todos os consumidores para serem idempotentes, garantindo que mensagens duplicadas não resultariam em faturas duplicadas ou em estado corrompido.