ApsaraMQ for Kafka adalah layanan fully managed yang dibangun di atas Apache Kafka. Bagian berikut menjelaskan arsitektur kluster dan model publish-subscribe.
Cluster architecture
Kluster ApsaraMQ for Kafka terdiri dari empat komponen: producers, brokers, ZooKeeper, dan consumer groups.
Arsitektur ApsaraMQ for Kafka
Producer
Producer mengirimkan messages ke brokers dalam kluster. Messages biasanya berisi data seperti event page view, log server, serta informasi penggunaan sumber daya sistem, misalnya CPU utilization dan memory usage.
Broker
Broker adalah server yang menyimpan dan melayani messages. Brokers dapat diskalakan secara horizontal; menambahkan lebih banyak broker ke kluster akan meningkatkan throughput.
Consumer group
Consumer group (disebut sebagai "Group" di Konsol ApsaraMQ for Kafka) menarik messages dari brokers untuk mengonsumsi data dari topik yang telah di-subscribe.
ZooKeeper
ZooKeeper mengoordinasikan kluster dengan mengelola konfigurasi kluster, memilih leader partition, serta melakukan rebalance beban saat keanggotaan consumer group berubah.
Publish-subscribe model
ApsaraMQ for Kafka menggunakan model publish-subscribe. Producers mempublikasikan messages ke topik, sedangkan consumer groups berlangganan ke topik tersebut untuk mengonsumsi messages.
Model publish-subscribe ApsaraMQ for Kafka
Topik dan consumer groups memiliki hubungan many-to-many:
Satu consumer group dapat berlangganan ke beberapa topik.
Satu topik dapat dikonsumsi oleh beberapa consumer groups.
Dalam satu consumer group, setiap message dari topik yang di-subscribe hanya dikonsumsi oleh satu consumer di dalam kelompok tersebut.