В Кафке нет встроенного функционала, который позволяет назначать TTL на отдельные сообщения и перемещать их между очередями. По большей части это связанно с подходом к хранению сообщений, который используется в Кафке. В партиции, где хранятся сообщения, вы не можете менять их местами или удалять по-отдельности. Так же у сообщения в Кафке нет глобального статуса прочитанности, как в AMQP-брокерах. Консьюмеры могут читать сообщения в партиции произвольное количество раз, причем параллельно.
Однако ничего не мешает вам реализовать описанный функционал на стороне клиента. Как вариант, можно записывать в тело сообщения TTL. Когда консьюмер дойдет до сообщения, он сравнит его таймстэмп + TTL с текущим временем, после чего либо штатно обработает, либо пропустит сообщение, попутно записыв его в dead letter queue.
В Кафке нет встроенного функционала, который позволяет назначать TTL на отдельные сообщения и перемещать их между очередями. По большей части это связанно с подходом к хранению сообщений, который используется в Кафке. В партиции, где хранятся сообщения, вы не можете менять их местами или удалять по-отдельности. Так же у сообщения в Кафке нет глобального статуса прочитанности, как в AMQP-брокерах. Консьюмеры могут читать сообщения в партиции произвольное количество раз, причем параллельно.
Однако ничего не мешает вам реализовать описанный функционал на стороне клиента. Как вариант, можно записывать в тело сообщения TTL. Когда консьюмер дойдет до сообщения, он сравнит его таймстэмп + TTL с текущим временем, после чего либо штатно обработает, либо пропустит сообщение, попутно записыв его в dead letter queue.