1) Целевой раздел определяется производителем.При использовании алгоритма секционирования по умолчанию (который можно настроить) целевой раздел: hash (message-key)% num_partitions.Это означает, что все сообщения с одинаковым ключом попадают в один и тот же раздел.Так что если вы используете ключ и все сообщения имеют одинаковый ключ, то они отправляются в один и тот же раздел.Если ключ не указан, используется циклический перебор.В любом случае сообщение всегда отправляется только в ОДИН раздел.
2), если потребитель является единственным в группе потребителей, он получит все разделы.Вы можете добавить больше потребителей в одну и ту же группу потребителей для распределения нагрузки (в вашем случае до 3 потребителей, то есть количество разделов, имеющихся в теме, чтобы один потребитель получил один раздел).
Получение разных потребителей сообщений из разных разделов - это способ, которым Kafka действительно хорошо масштабируется.Это не недостаток, потому что вы должны думать о потреблении приложения (сделанного несколькими потребителями).Идентификатор приложения может быть идентификатором группы, используемым всеми его потребителями: у вас есть приложение, получающее ВСЕ сообщения из темы, но нагрузка распределяется между его потребителями.