Seperti yang dijelaskan oleh yang lain, Kafka (bahkan dalam versi terbaru) tidak akan berfungsi tanpa Zookeeper.
Kafka menggunakan Zookeeper untuk yang berikut:
Memilih pengontrol . Pengontrol adalah salah satu pialang dan bertanggung jawab untuk menjaga hubungan pemimpin / pengikut untuk semua partisi. Ketika sebuah simpul dimatikan, itu adalah pengontrol yang memberitahu replika lain untuk menjadi pemimpin partisi untuk menggantikan pemimpin partisi pada simpul yang akan pergi. Zookeeper digunakan untuk memilih controller, pastikan hanya ada satu dan pilih yang baru jika crash.
Keanggotaan cluster - broker mana yang masih hidup dan bagian dari cluster? ini juga dikelola melalui ZooKeeper.
Konfigurasi topik - topik apa yang ada, berapa banyak partisi yang dimiliki, di mana replika, siapa pemimpin yang disukai, konfigurasi apa yang ditimpa ditetapkan untuk setiap topik
(0.9.0) - Kuota - berapa banyak data yang dapat dibaca dan ditulis oleh setiap klien
(0.9.0) - ACL - yang diizinkan membaca dan menulis ke topik mana (konsumen tingkat tinggi lama) - Kelompok konsumen mana yang ada, siapa anggota mereka dan berapa offset terbaru yang didapat setiap kelompok dari setiap partisi.
[dari https://www.quora.com/What-is-the-actual-role-of-ZooKeeper-in-Kafka/answer/Gwen-Shapira ]
Mengenai skenario Anda, hanya satu instance broker dan satu produsen dengan banyak konsumen, Anda dapat menggunakan pendorong untuk membuat saluran, dan mendorong acara ke saluran yang dapat dilanggankan oleh konsumen dan menyerahkan acara tersebut.
https://pusher.com/