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 неизбежна.
Что такое Outbox polling pattern и как его реализовать?
Senior
235 просмотровAFK Offer AI
Что такое PriorityQueue?