Apache Kafka merupakan platform terdistribusi untuk data streaming. Pada dasarnya, Apache Kafka merupakan sistem publish/subscribe messaging, dimana terdapat satu atau lebih sistem yang men-generate data untuk suatu topik tertentu secara real-time di Apache Kafka (disebut sebagai Producers).
Kemudian, topik tersebut dapat dibaca oleh satu atau lebih sistem yang membutuhkan data-data dari topik tersebut secara real-time (disebut sebagai Consumers).
Feature Apache Kafka
Apache kafka memiliki beberapa fitur keren yang bisa kamu manfaatkan untuk kebutuhan data streaming, apa saja feature-feature itu baca ulasan dibawah ini :
- Producer merupakan proses atau sistem yang dapat mempublikasikan data ke suatu topik.
- Consumer merupakan proses atau sistem yang dapat melakukan subscription ke satu atau lebih topik dan mengolah data-data dari topik tersebut.
- Topic merupakan nama dari sebuah feed.
- Broker merupakan instance Apache Kafka yang berjalan di satu mesin.
- Cluster merupakan kelompok dari broker-broker yang saling bekerjasama.
- Partition merupakan pengelompokkan data topic yang dipecah menjadi bagian-bagian kecil. Misalnya, suatu topik menyimpan informasi user login, maka data-data pada topik dapat dibagi bedasarkan huruf awal dari username.
- Offset merupakan array index yang digunakan oleh Apache Kafka sebagai unique identifier untuk setiap data pada satu partisi.
Baca juga artikel berikut ini :Kelebihan Utama Apache Kafka
Apache Kafka dapat menyimpan, menerima dan mengirim data atau pesan dari berbagai
node.
Apache Kafka dapat bekerja dengan baik dalam suatu kelompok atau
cluster, sehingga dengan bertambahnya volume dan kecepatan aliran data yang harus diproses, maka kita hanya perlu menambah mesin baru saja pada
cluster tanpa harus melakukan
vertical-scaling.
Salah satu kelemahan dari sistem sentralisasi (tidak terdistribusi) adalah
Single Point of Failure (SPoF). Sedangkan sistem terdistribusi dirancang untuk mengakomodasi jika terjadi masalah pada satu atau lebih
node, maka
node yang lain dapat menggantikan posisi
node yang bermasalah tersebut, sehingga keseluruhan sistem tidak terganggu. Pada Apache Kafka, terdapat satu
partition leader yang berperan sebagai
node utama, dimana
partition leader mereplikasi data yang diterimanya ke
node-node lainnya, yang disebut sebagai
followers.
Jika kamu tertarik untuk mengeksplore Apache Kafka, kamu bisa membaca dokumentasinya pada official web apache kafka : https://kafka.apache.org/quickstart
Baca artikel lainya :
**
artikel ini dirangkum dari berbagai sumber (hmti.binus.ac.id, kafka.apache.org, confluent.io/what-is-apache-kafka)