Platform event streaming terdistribusi yang memungkinkan pengiriman, penyimpanan, dan pemrosesan aliran data (stream) real-time dalam skala besar dengan throughput tinggi dan latensi rendah.

Apache Kafka adalah platform distributed event streaming yang awalnya dikembangkan oleh LinkedIn. Kafka digunakan untuk membangun pipeline data real-time dan aplikasi streaming yang andal dan skalabel.

Konsep Inti Kafka

Topic

Kategori atau feed tempat pesan (event) disimpan. Seperti tabel di database, tapi untuk stream data.

Partition

Setiap topic dibagi menjadi partisi. Partisi memungkinkan parallelism - setiap partisi bisa dibaca oleh consumer berbeda secara bersamaan.

Producer

Aplikasi yang mengirim (publish) event ke topic Kafka.

Consumer

Aplikasi yang membaca (subscribe) event dari topic Kafka.

Consumer Group

Sekumpulan consumer yang bekerja sama membaca topic. Setiap partisi hanya dibaca oleh satu consumer dalam group.

Broker

Server Kafka. Sebuah cluster Kafka terdiri dari beberapa broker untuk high availability.

Kafka vs Message Queue Tradisional

AspekApache KafkaRabbitMQ / ActiveMQ
ModelEvent log (persistent)Message queue (hapus setelah dibaca)
RetensiDapat menyimpan hari/mingguBiasanya hapus setelah consumed
KonsumerBanyak consumer independenPesan hanya dibaca satu consumer
ThroughputJutaan msg/detikRibuan msg/detik
Use caseEvent streaming, log aggregationTask queue, RPC

Arsitektur Kafka

Kafka menyimpan event dalam commit log yang append-only. Consumer membaca event berdasarkan offset (posisi), sehingga:

  • Event tidak hilang setelah dibaca
  • Consumer bisa replay event dari awal
  • Banyak consumer bisa baca event yang sama secara independen
Lanjut Latihan

Udah paham Apache Kafka? Lanjut latihan SQL dan Excel yuk!

Latihan interaktif, langsung di browser.

Mulai Latihan →