Как увеличить потребитель KAFKA по требованию в одной группе - PullRequest
0 голосов
/ 06 мая 2019

Допустим, у нас есть одна тема "topic-1" в kafka с разделом 5. Потребительская группа A с 5 потребителями, прикрепленными к "topic-1" в каждом разделе.Из-за большой загруженности большое количество сообщений публикуется.Теперь мы хотим увеличить потребителя / добавить еще потребителя в группе А для обработки сообщения.

Как мы можем увеличить потребителя ON_DEMAND в той же группе?Есть ли способ сделать это из кодирования?так что одно сообщение будет потребляться каждым потребителем.Как только нагрузка уменьшится, отключите несколько потребителей из той же группы.

Ответы [ 2 ]

0 голосов
/ 06 мая 2019
  • То, что я хотел бы предложить, это иметь несколько разделов в качестве буфера для нагрузка увеличивается.
  • Например, если для нормальной загрузки достаточно 5 разделов, я бы предложить 15 разделов на эту тему, но только 5 потребителей для них в начале.
  • Затем, когда нагрузка увеличивается, продолжайте добавлять потребителей, предпочтительно на других машинах, пока нагрузка не уменьшится
  • Вы можете сделать так, чтобы kubernetes сделал автоматическое масштабирование для вас.
0 голосов
/ 06 мая 2019

Каркас Кафки предполагает, что количество потребителей соответствует количеству перегородок.Увеличение числа потребителей не поможет, так как в любом случае у вас будет один потребитель на раздел, а остальные останутся без дела.Если вам нужно ускорить его, вы можете прочитать данные из Kafka и обработать их в другом потоке.Вы можете масштабировать с этим количеством потоков обработки, и вам нужно будет запрограммировать его самостоятельно.

...