Как балансировать рассылку сообщений в Kafka на примере микросервисов на Nest.js?

Я создал приложение и несколько инстансов микросервиса Nest.js, которые взаимодействуют через Kafka.
Сейчас первый запущенный микросервис принимает сообщения, а второй и последующие копии - не получают сообщения.
Если я закрою первый микросервис, то спустя несколько секунд, сообщения начнёт получать тот, который подключился вторым.
Как мне разбалансировать рассылку сообщений, что б были задействованы все микросервисы? Пример с официально сайта Nest.js взял по взаимодействию с кафкой.
  • Вопрос задан
  • 262 просмотра
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
Любой Kafka-consumer имеет атрибут group.id. И если у нескольких консюмеров он совпадает
то они начинают делить топик поровну (по round-robin). В более расширенном варианте - нужно
настраивать поля самого сообщения чтоб был более умный партишенинг.

Несмотря на то что Кафка работает быстро, сам процесс включения и перебалансировки консюмеров
может быть не очень быстрым поэтому такие манипуляции следует делать не очень часто.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
30 нояб. 2024, в 22:41
500 руб./за проект
30 нояб. 2024, в 20:49
2000 руб./за проект
30 нояб. 2024, в 20:18
5000 руб./за проект