Поскольку потребитель отвечает за интервалы сердцебиения, Кафка не выполняет перебалансировку. Если предположим, что ваш потребитель не ответил на сердцебиение зоопарку, то Кафка предположит, что потребитель умер, и проведет повторную балансировку. он основан на паре свойств здесь
heartbeat.interval.ms
Ожидаемое время между пульсами для координатора потребителя при использовании средств управления группой Kafka. Сердцебиение используется для обеспечения того, чтобы сеанс потребителя оставался активным, и для облегчения восстановления баланса, когда новые потребители присоединяются или покидают группу. Значение должно быть установлено ниже, чем session.timeout.ms, но обычно оно должно быть установлено не выше 1/3 от этого значения. Его можно отрегулировать еще ниже, чтобы контролировать ожидаемое время нормальных перебалансировок.
session.timeout.ms
Тайм-аут, используемый для обнаружения сбоев потребителей при использовании средства управления группами Kafka. Потребитель посылает брокеру периодические сердечные сокращения, чтобы указать его жизнеспособность. Если посредник не получил тактовые импульсы до истечения этого тайм-аута сеанса, то брокер удалит этого потребителя из группы и инициирует перебалансировку. Обратите внимание, что значение должно находиться в допустимом диапазоне, настроенном в конфигурации посредника для group.min.session.timeout.ms и group.max.session.timeout.ms
zookeeper.session.timeout.ms
Тайм-аут сеанса ZooKeeper. Если потребитель не сможет отправить ZooKeeper сообщение об этом в течение этого периода времени, он считается мертвым, и произойдет восстановление баланса.