Как объясняли другие, Kafka (даже в самой последней версии) не будет работать без Zookeeper.
Kafka использует Zookeeper для следующих целей:
Выбор контролера . Контроллер является одним из брокеров и отвечает за поддержание отношений лидер / подчиненный для всех разделов. Когда узел выключается, именно контроллер сообщает другим репликам стать лидерами разделов, чтобы заменить лидеров разделов на удаляемом узле. Zookeeper используется для выбора контроллера, убедитесь, что он только один, и выберите новый, если он выйдет из строя.
Членство в кластере - какие брокеры живы и входят в кластер? это также осуществляется через ZooKeeper.
Конфигурация темы - какие темы существуют, сколько разделов в каждой, где находятся реплики, кто является предпочтительным лидером, какие переопределения конфигурации установлены для каждой темы
(0.9.0) - Квоты - сколько данных каждому клиенту разрешено читать и писать
(0.9.0) - ACL - кому разрешено читать и писать в какую тему (старый потребитель высокого уровня) - Какие группы потребителей существуют, кто их члены и какое последнее смещение каждая группа получила из каждого раздела.
[из https://www.quora.com/What-is-the-actual-role-of-ZooKeeper-in-Kafka/answer/Gwen-Shapira ]
Что касается вашего сценария, только один экземпляр брокера и один производитель с несколькими потребителями, вы можете использовать pusher для создания канала и отправки события на этот канал, на который потребитель может подписаться и передать эти события.
https://pusher.com/