Uma solicitação, dois serviçosPedidos envia uma solicitação por RabbitMQ. Pagamentos recebe, salva uma decisão e envia o resultado. Pedidos atualiza o estado. O player externo descreve cada etapa. Uma solicitação. Dois serviços.Mensagem de ida → trabalho separado → resultado de volta API de PedidosHTTP · porta 8080 RabbitMQExchange: roteia pela chaveFila de solicitações PagamentosSimulador · porta 8081 Exchange + fila de resultados ← Banco pedidosPedido + solicitação S1 Banco pagamentosDecisão única para S1 S1 OK ABERTO Ready: 0Unacked: 0 DESLIGADO 01 · Pedido criado2 cafés × R$ 18,90 = R$ 37,80. Nenhuma solicitação enviada. EM_PAGAMENTO Ready: 0Unacked: 0 DESLIGADO 02 · Solicitação S1 registradaItens protegidos enquanto o resultado não chega. EM_PAGAMENTO Ready: 1Unacked: 0 DESLIGADO 03 · Publicação confirmada → HTTP 202A mensagem chegou à fila. Isso ainda não aprova o pagamento. EM_PAGAMENTO Ready: 1Unacked: 0 DESLIGADO 04 · A mensagem pode esperarPagamentos desligado. RabbitMQ continua guardando a solicitação. EM_PAGAMENTO Ready: 0Unacked: 1 LIGADO 05 · Entrega recebida, ainda sem ackPagamentos processa S1 e guarda sua decisão no próprio banco. EM_PAGAMENTO Ready: 0Unacked: 0 LIGADO 06 · Resultado publicadoA decisão volta em outra mensagem. Solicitação original confirmada. PAGO Ready: 0Unacked: 0 LIGADO 07 · Resultado aplicado em PedidosEstado e conclusão salvos juntos. Agora a entrega é confirmada. PAGO Ready: 0Unacked: 0 LIGADO 08 · S1 chega novamenteO registro persistido reconhece a chave e preserva o mesmo efeito.