Léxico de TI › Programação › Padrão Outbox

Padrão Outbox

Programação Svenska → Atualizado: 2026-09-30

Resolve o problema da "escrita dupla" (banco de dados + fila de mensagens na mesma transação) gravando o evento numa tabela outbox ao mesmo tempo que a alteração dos dados, e deixando um processo separado publicá-lo.

O problema: se você faz db.commit() e depois queue.publish(), um dos dois pode dar certo enquanto o outro falha — consistência parcial. A tabela outbox registra o evento dentro da mesma transação do banco. Um processo de relay consulta a tabela (ou a lê via CDC, com Debezium) e publica no Kafka/RabbitMQ. Garante entrega at-least-once, então os consumidores precisam ser idempotentes. É padrão em sistemas modernos orientados a eventos.

← Voltar ao léxico