У меня есть Spring Boot
проект, который реализует Kafka
.Приложение использует producer
для создания сообщения на topic
в определенном partition
.partitions
на topic
создаются динамически во время выполнения.После добавления нового partition
уже запущенный consumer
для данного topic
не видит partition
, но видит более старые.Однако, когда я перезагружаю consumer
, the consumer
начинает видеть новый partition
и успешно начинает с него polling
.
Мой вопрос: могу ли я сделать эту работу без перезапуска потребителя, и еслиЯ могу как?Я не могу найти это нигде в официальной документации.
Создание раздела:
Map<String,NewPartitions> increaseTopicPartitions = new HashMap<String,NewPartitions>();
increaseTopicPartitions.put("nodesTopic", NewPartitions.increaseTo(totalPartitions + 1));
BaseProcessor.adminClient.createPartitions(increaseTopicPartitions);
Печать количества разделов:
int totalPartitions = cluster.partitionCountForTopic(topic);