отправил ack. Пока я обрабатывал (писал в эластик и не всегда успшено) сообщение мне пришло новое сообщение с этим же ключем. Каковы в этом случае действия кафки? Дедупликация включена.
через кафку приходят записи, которые были обновлены. Поэтому я хочу записывать только свежие сообщения. Для этого я использую дедупликацию. Но проблема в том, что если одна запись долго не записывается, а ack не послан, то в это время может прийти обновленная эта же запись и мне непонятно поведение кафки в этом случае.
Так же не понятно будет ли заблокирована партиция в которой лежало сообщение или же все партиции. Если только одна, то по идее в этом случае все последующие сообщения не будут закоммичены в рамках одной группы.
з.ы текст немного сумбурный поскольу я его слепил из нескольких сообщений из другого чата
На кафке вроде как дедупликации нет. Если сообщения с одним ключом пишется в одну партицию ( а это так по умолчанию), то вычитав такие сообщения в одном poll их можно схлопнуть. Если пришли в разных poll тебе нужно в памяти делать буфер, для дедупликации. А лучше всего обрабатывай последовательно ))
Обсуждают сегодня