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.