Apache Kafka - Arsitektur Cluster
Perhatikan ilustrasi berikut. Ini menunjukkan diagram cluster Kafka.
Tabel berikut menjelaskan masing-masing komponen yang ditunjukkan pada diagram di atas.
S.No | Komponen dan Deskripsi |
---|---|
1 | Broker Cluster Kafka biasanya terdiri dari beberapa broker untuk menjaga keseimbangan beban. Broker Kafka tidak memiliki kewarganegaraan, jadi mereka menggunakan Zookeeper untuk mempertahankan status cluster mereka. Satu contoh broker Kafka dapat menangani ratusan ribu pembacaan dan penulisan per detik dan setiap bro-ker dapat menangani TB pesan tanpa dampak kinerja. Pemilihan pemimpin broker Kafka dapat dilakukan oleh ZooKeeper. |
2 | ZooKeeper ZooKeeper digunakan untuk mengelola dan mengkoordinasikan broker Kafka. Layanan ZooKeeper terutama digunakan untuk memberi tahu produsen dan konsumen tentang keberadaan broker baru dalam sistem Kafka atau kegagalan broker dalam sistem Kafka. Sesuai dengan pemberitahuan yang diterima oleh Zookeeper mengenai ada atau tidaknya broker maka pro-ducer dan konsumen mengambil keputusan dan mulai mengkoordinasikan tugas mereka dengan beberapa broker lain. |
3 | Producers Produsen mendorong data ke broker. Ketika broker baru dimulai, semua produsen mencarinya dan secara otomatis mengirim pesan ke broker baru tersebut. Produser Kafka tidak menunggu pengakuan dari broker dan mengirim pesan secepat yang bisa ditangani broker. |
4 | Consumers Karena broker Kafka tidak memiliki kewarganegaraan, yang berarti konsumen harus menjaga berapa banyak pesan yang telah dikonsumsi dengan menggunakan offset partisi. Jika konsumen mengakui pesan tertentu offset, itu menyiratkan bahwa konsumen telah mengkonsumsi semua pesan sebelumnya. Konsumen mengeluarkan permintaan tarik asinkron ke broker agar memiliki buffer byte yang siap digunakan. Konsumen dapat memundurkan atau melompat ke titik mana pun dalam partisi hanya dengan memberikan nilai offset. Nilai offset konsumen diberitahukan oleh ZooKeeper. |