IT-словарь › Программирование › Паттерн Outbox

Паттерн Outbox

Программирование Svenska → Обновлено: 2026-10-18

Решает проблему «двойной записи» (база данных + очередь сообщений в одной транзакции): событие записывается в таблицу outbox одновременно с изменением данных, а публикует его отдельный процесс.

Проблема: если вызвать db.commit(), а затем queue.publish(), одно может удаться, а другое — нет, и данные окажутся согласованы лишь частично. Таблица outbox фиксирует событие в той же транзакции БД. Процесс-ретранслятор опрашивает таблицу (или читает её через CDC, например Debezium) и публикует в Kafka/RabbitMQ. Гарантия — как минимум одна доставка, поэтому потребители должны быть идемпотентными. Стандарт в современных событийно-ориентированных системах.

← Назад к словарю