Conforme explicado por outros, o Kafka (mesmo na versão mais recente) não funcionará sem o Zookeeper.
Kafka usa o Zookeeper para o seguinte:
Elegendo um controlador . O controlador é um dos intermediários e é responsável por manter o relacionamento líder / seguidor para todas as partições. Quando um nó é desligado, é o controlador que instrui outras réplicas a se tornarem líderes de partição para substituir os líderes de partição no nó que está desaparecendo. O Zookeeper é usado para eleger um controlador, verifique se existe apenas um e escolha um novo para ele, se ele travar.
Associação ao cluster - quais corretores estão ativos e fazem parte do cluster? isso também é gerenciado através do ZooKeeper.
Configuração de tópico - quais tópicos existem, quantas partições cada um possui, onde estão as réplicas, quem é o líder preferencial, quais substituições de configuração são definidas para cada tópico
(0.9.0) - Cotas - quantos dados cada cliente tem permissão para ler e gravar
(0.9.0) - ACLs - quem tem permissão para ler e gravar em qual tópico (consumidor antigo de alto nível) - Quais grupos de consumidores existem, quem são seus membros e qual é o último deslocamento que cada grupo obteve de cada partição.
[em https://www.quora.com/What-is-the-actual-role-of-ZooKeeper-in-Kafka/answer/Gwen-Shapira ]
Em relação ao seu cenário, apenas uma instância do broker e um produtor com vários consumidores, você pode usar o empurrador para criar um canal e enviar evento para esse canal no qual o consumidor pode se inscrever e entregar esses eventos.
https://pusher.com/