#apache-kafka #spring-kafka
#apache-kafka #spring-kafka
Вопрос:
Насколько я понимаю, Spring-kafka управляет параллелизмом внутри службы. т. Е. прослушиватель будет получать сообщения только из назначенного раздела.
Это также тот случай, когда существует несколько экземпляров службы (возможно, с собственным набором слушателей)?
например, 2 экземпляра службы с 3 слушателями каждый (все в одной группе), потребляющие информацию из темы с 6 разделами.
Комментарии:
1. Если экземпляры не совместно используют группу потребителей, каждая служба будет считывать все данные независимо. Каждый потребитель будет читать из 2 разделов.
2. Если они находятся в одной группе, кто назначает разделы потребителям в разных экземплярах службы?
3. Брокер будет. Пользователь говорит -> эй, я хочу использовать, моя группа бла-бла-бла. И брокер -> ок, итак, был потребитель из вашей группы, давайте посмотрим, как мы можем разделить работу. — И запускает нечто, называемое перебалансировкой, что означает решение, какие разделы будет читать каждый потребитель. например: у вас был один потребитель из группы A, использующий 6 разделов. Теперь приходит новый пользователь из группы A и сообщает, что тоже хочет использовать. Kafka перебалансирует, отзывает 3 раздела у первого пользователя и сообщает ему теперь прочитать разделы (1,3,5), а второму пользователю — прочитать из (2,4,6). Просто пример.
4. как насчет того, когда в прослушивателе spring-kafka установлен параллелизм? Это также управляется брокером?
5. @aran, ты должен преобразовать свой комментарий в ответ, потому что это, наконец, помогло мне понять, как именно работает балансировка