Что происходит с потребительскими смещениями, если в тему Kafka добавляются новые разделы?

Что произойдет с потребительскими смещениями при добавлении нового раздела? Он остается прежним?


person Climax    schedule 27.03.2015    source источник


Ответы (2)


Да, остается прежним.

Смещение сохраняется для каждого раздела отдельно, поэтому смещение вашего нового раздела будет начинаться с 0 и не повлияет на другие смещения.

person Heejin    schedule 27.03.2015

Предполагая, что вы говорите о потребителях / группах потребителей высокого уровня, смещения потребителей остаются неизменными, поскольку смещения специфичны для разделов. Таким образом, потребитель начнет потреблять из нового раздела в начале или в конце или в момент времени t в зависимости от настроенного начального смещения. Например, если потребитель уже израсходовал до смещения 100000 в разделе 1 и 120000 в разделе 2, при добавлении третьего раздела потребитель обнаружит новый раздел через некоторый период посредством опроса и сбросит только смещение для этого нового раздела.

При изменении набора разделов в теме важно помнить о горячих точках. Если вы добавите в тему новый раздел, исторические сообщения будут по-прежнему распространяться по старым разделам, поэтому, если вы используете базовое циклическое / хэш-разбиение, данные в старых разделах останутся значительно больше, чем данные в новых. разделы до тех пор, пока все разделы не станут достаточно большими для удаления старых сегментов старых разделов.

person kuujo    schedule 27.03.2015