Важное использование полосы пропускания при важном количестве групп потребителей kafka

#apache-kafka #spring-kafka

#апачи-кафка #весна-кафка

Вопрос:

У меня есть использование kafka, которое может немного отличаться от ожидаемого :

  • 4 темы (по 3 раздела на темы)
  • около тысячи групп потребителей по каждой теме
  • очень мало данных для обмена (около 1 тыс. сообщений и что-то около 10 записей в день по каждой теме).
  • потребители реализованы с помощью spring-kafka

К сожалению, я наблюдаю значительное использование полосы пропускания (~ 25 Мбит / с непрерывно), и я полагаю, это связано с тем, что потребителям необходимо поддерживать соединение с кластером (такое использование полосы пропускания происходит даже при отсутствии сообщений).

Было бы нормально, если бы мои потребители были не столь эффективны, когда дело доходит до использования данных, существует ли конфигурация потребителей для уменьшения использования этой сети, даже если это означает, что они не получают записи в режиме реального времени.

Есть ли у вас какие -либо идеи , почему я мог бы так широко использовать пропускную способность, а также какая конфигурация моих потребителей могла бы уменьшить ее?

Комментарии:

1. если вы не хотите, чтобы потребители оставались в живых, вы можете использовать as scheduler один раз в день или два раза в день?

2. @Дэдпул : Спасибо за идею. К сожалению, я не против того, чтобы быть не в реальном времени, но не до такой степени, чтобы делать это по расписанию. Меня бы устроило 15 или 30 минут, но это все

Ответ №1:

Чтобы уменьшить использование сети, я изменил несколько настроек своих потребителей :

Сначала я увеличил интервал сердцебиения :

  • session.timeout.ms
  • интервал сердцебиения

Затем я увеличил максимальное ожидание выборки :

  • request.timeout.ms
  • выборка-макс-ожидание

Для обеих возможностей существует два свойства, потому что они коррелируют.

Надеюсь, это поможет кому-то, у кого была та же проблема, что и у меня 🙂