Apa Itu Apache Kafka?

Apache Kafka adalah sistem messaging berbasis publish-subscribe yang terdistribusi. Fungsinya adalah menerima data dari berbagai sistem sumber dan menyediakannya untuk sistem target secara real-time. Kafka ditulis dalam Scala dan Java, serta sering dikaitkan dengan pemrosesan big data berbasis event stream secara real-time.

Seperti sistem message broker lainnya, Kafka memfasilitasi pertukaran data asynchronous antara proses, aplikasi, dan server. Tapi yang bikin Kafka beda adalah efisiensinya yang tinggi. Tidak seperti message broker lain yang melacak perilaku konsumen dan menghapus pesan setelah dibaca, Kafka menyimpan semua pesan untuk jangka waktu tertentu, dan konsumen yang harus mengatur sendiri pesan mana yang sudah dibaca.

Cara Kerja Kafka

Kafka berjalan di satu atau lebih server, dan setiap node dalam klaster Kafka disebut sebagai broker. Untuk mengelola klaster, Kafka menggunakan Apache Zookeeper. Broker bertugas membantu aplikasi producer menulis data ke topics dan aplikasi consumer membaca data dari topics.

Topics dalam Kafka dibagi menjadi beberapa partisi agar lebih mudah dikelola. Kafka menjamin pesan dalam setiap partisi tetap berurutan. Karena pesan ditulis ke partisi dalam urutan tertentu dan dibaca dalam urutan yang sama, setiap partisi pada dasarnya menjadi semacam commit log yang bisa berfungsi sebagai single source of truth (SSOT) dalam sistem terdistribusi.

Sejarah dan Perkembangan Kafka

Awalnya, Kafka dikembangkan di LinkedIn untuk mempercepat proses parallel load dalam sistem Hadoop. Kemudian, proyek ini menjadi open source di bawah naungan Apache Software Foundation pada tahun 2011.

Pada 2014, tim pengembang Kafka di LinkedIn mendirikan perusahaan Confluent untuk mendukung deployment Kafka di tingkat enterprise dan menyediakan layanan Kafka-as-a-service. Versi 5.0 dari Confluent Platform, yang dirilis secara komersial pada 2018, membawa peningkatan dalam menangani failover aplikasi untuk disaster recovery (DR) dan mengurangi ketergantungan pada bahasa Java dalam aplikasi data streaming.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *