😵💫 Redis Streams научился говорить: «Не обработал»
В Redis 8.8 появилась команда XNACK. Раньше потребитель мог либо подтвердить сообщение через XACK, либо оставить его зависшим в очереди pending, пока другой обработчик не дождётся тайм-аута и не заберёт его через XCLAIM.
Теперь сообщение можно сразу освободить для повторной обработки. Есть три режима: SILENT — попытка не засчитывается, FAIL — ошибка учитывается, FATAL — сообщение помечается как безнадёжное для отправки в dead-letter queue.
Для инженеров это быстрее восстанавливает поток при перегрузке обработчика, упрощает корректное завершение процессов и работу с повреждёнными событиями. Если потребитель аварийно завершится до вызова XNACK, прежний механизм тайм-аутов всё равно понадобится.
#redis #redisstreams #streamprocessing #messaging #dataengineering #reliability @data_engi
Post #1215
130