max.poll.records
не влияет на уровень параллелизма.Согласно документации ,
max.poll.records
: максимальное количество записей, возвращаемых за один вызов функции poll ().
Если выУвеличьте значение этой конфигурации, вы сможете получать больше записей при каждом опросе, но это не значит, что вы собираетесь обрабатывать сообщения параллельно.
Уровень параллелизма в Kafka контролируется количеством разделов и числом работающих экземпляров потребителя.
Тема Kafka разделена на несколько разделов, что обеспечивает параллелизмпутем разделения данных между несколькими брокерами.Несколько разделов позволяют нескольким потребителям читать из темы параллельно.Поэтому для достижения параллельной обработки вам нужно разбить вашу тему на несколько разделов.
Чтобы увеличить количество разделов существующей темы, вы можете просто запустить
bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic topicName --partitions 10
Это не будет перемещать существующие данные, хотя
Замечание о потребителях, группах потребителей и разделах
Если у вас N разделов, то в одной группе потребителей может быть до N потребителей, каждый из которых считывает один раздел.Если у вас меньше потребителей, чем у разделов, то некоторые из них будут читать из более чем одного раздела.Кроме того, если у вас больше потребителей, чем разделов, то некоторые из них будут неактивны и вообще не получат сообщений от этих экземпляров.