Я изменяю тему Кафки, добавляю к ней раздел (от 3 до 4 разделов).
На потребителя у меня уже есть 4 параллелизма, использующих @KafkaListener
@KafkaListener(topics = "t_multi_partitions", concurrency = "4")
Производитель отправляет сообщение каждые несколько секунд, но обычно менее 5 секунд для каждого сообщения.
Самое смешное, когда я изменяю раздел
kafka-topics.sh --bootstrap-server localhost:9092 --alter --topic t_multi_partitions --partitions 4
Он не вступает в силу напрямую.
Потребовалось примерно 5 минут, чтобы производитель начал отправлять сообщение в 4-й раздел, а также 5 минут для восстановления баланса, чтобы 4-й потребитель вступил в силу
Это нормально? Я использую Spring boot 2.1
Как я могу настроить это 5 минут времени (больше или меньше)?
Код потребителя (упрощенно)
@KafkaListener(topics = "t_multi_partitions", concurrency = "4")
public void listen(ConsumerRecord<String, String> message) throws InterruptedException {
log.info("Key : {}, Partition : {}, Message : {}", message.key(), message.partition(), message.value());
}