которые читают из одного топика и консюмеры состоят в одной консюмер группе.
Например, у топика 2 партиции. Каждый консюмер взял себе по 1 партиции.
Как кафка разделяет этих двух консюмеров? у них должны быть уникальные client.id?
Интересует кейс, когда из-за сетевых проблем один консюмер вываливается и второму отдают 2 партиции. И когда сеть отпустит то первый консюмер может вообще не знать что у него забрали партицию и может начать читать со старого офсета (зотя есть же __consumer__offsets топик)
Добрый день, произойдет ребаланс, и каждый продолжить читать с того оффсета где последний комит был, оффсеты не привязаны к клиенту, Кафка запоминает оффсеты по партициям в разрезе групп
вот у меня случилось так что после первого ребаланса один консюмер стал читать 2 партиции. А у другого конюсюмера в логах тишина. потом он взял и зачитал партицию, которая уже назначена другому и получились дубликаты
наверное, некорректно реализована процедура обработки реаланса на консьюмерах
Возможно консюмер перед падением обработал пачку и не успел закомитить оффсеты
да вот не ясно, код уже больше года работает, проблем не было. а тут одна из нод начала сбоить и приложение которое на ней стоит записало дубликатов
Обсуждают сегодня