Что такое Outbox polling pattern и как его реализовать?

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

Polling: отдельный @Scheduled поток каждые N секунд читает из outbox таблицы не-отправленные события (status=PENDING), публикует в Kafka, обновляет status=SENT. Для нескольких инстансов нужен distributed lock или SELECT FOR UPDATE SKIP LOCKED чтобы один инстанс не дублировал публикацию. Альтернатива — CDC через Debezium. Polling проще в настройке, CDC более надёжен при большом объёме. Главное: idempotent consumers — at-least-once delivery неизбежна.

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

Что такое PriorityQueue?