Есть ли недостатки при использовании одного и того же кода производителя и потребителя для всех узлов в кластере?
Основными недостатками здесь являются масштабируемость и использование памяти.
Производители и потребители не обязаны работать с брокерами. Производители должны быть развернуты там, где данные генерируются (или работают как отдельные хосты, как работники Kafka Connect).
Потребители должны масштабироваться независимо, исходя из пропускной способности и гарантий упорядочения, которые вам нужны в ваших последующих системах.
Ничто не говорит о том, что 8 брокеров требуют 8 производителей и 8 потребителей; перегородки - вот что важнее
- Если у вас есть N разделов в теме, вы все равно можете масштабировать до N активных потребителей и бесконечно много производителей
- 8 брокеров могут содержать много разделов на любую тему
Запуск одного производителя - это реализация вашего собственного кода. Брокер не может форсировать это.