Как реализовать Outbox Pattern в Node.js?

Senior
226 просмотров
AFK Offer AI

Outbox Pattern решает dual-write проблему: нужно сохранить данные в БД И опубликовать событие атомарно. Подход: в одной транзакции сохраняй данные И пиши событие в таблицу outbox { id, type, payload, processed, createdAt }. Отдельный worker читает необработанные события из outbox и публикует в Kafka/RabbitMQ, помечает как processed. Гарантирует что событие опубликуется даже если брокер временно недоступен. Аналог: Change Data Capture (CDC) читает WAL PostgreSQL и публикует изменения.

Следующий вопрос

Как профилировать CPU в Node.js?