Кафка Продюсер, Потребитель, Брокер в том же канале? - PullRequest
0 голосов
/ 08 января 2019

Есть ли недостатки при использовании одного и того же кода производителя и потребителя для всех узлов в кластере? Если в кластере 8 узлов (8 потребительских, 8 брокеров kafka и 8 производителей), будут ли тогда в кластере одновременно работать 8 производителей? Есть ли способ изменить кластер так, чтобы одновременно работал только один производитель?

Ответы [ 2 ]

0 голосов
/ 08 января 2019

Есть ли недостатки при использовании одного и того же кода производителя и потребителя для всех узлов в кластере?

Основными недостатками здесь являются масштабируемость и использование памяти.

Производители и потребители не обязаны работать с брокерами. Производители должны быть развернуты там, где данные генерируются (или работают как отдельные хосты, как работники Kafka Connect).

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

Ничто не говорит о том, что 8 брокеров требуют 8 производителей и 8 потребителей; перегородки - вот что важнее

  • Если у вас есть N разделов в теме, вы все равно можете масштабировать до N активных потребителей и бесконечно много производителей
  • 8 брокеров могут содержать много разделов на любую тему

Запуск одного производителя - это реализация вашего собственного кода. Брокер не может форсировать это.

0 голосов
/ 08 января 2019

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

Есть ли способ изменить кластер так, чтобы только один производитель работал на время

Если вы собираетесь запустить одного производителя в определенный момент времени, вам не нужно вносить какие-либо изменения в кластер.

...