Padrão Transactional Outbox em Go com PostgreSQL
Escreva o evento com os dados. Nunca os separe.
Dois writes que deveriam ser bem-sucedidos juntos acabarão falhando separadamente.
Seu serviço de pedidos salva o pedido no banco de dados e, em seguida, publica um evento order.created em um message broker.