Apache Kafka adalah platform streaming yang kita pakai di section Streaming Data dan di proyek Proyek: Streaming Data dengan Kafka. Sejak seri 4.x, Kafka hanya berjalan dengan mode KRaft — ZooKeeper dihapus — dan dokumentasi resminya ikut direstrukturisasi menjadi halaman per topik. Bab ini memetakan tautan resmi dari kafka.apache.org ke dalam kelompok kebutuhan: memulai, konfigurasi, desain inti, operasional, dan ekosistem. Seluruh tautan diverifikasi hidup saat course ini ditulis.
Peta Dokumentasi Kafka #
Lima pintu masuk berikut menutup kebutuhan orientasi awal — dari memahami posisi Kafka di arsitektur sampai menjalankan cluster pertama di laptop:
| Sumber | Untuk apa | Tingkat |
|---|---|---|
| Documentation | Halaman induk dokumentasi: panduan memulai, desain, konfigurasi, operasional, dan ekosistem | Semua |
| Introduction | Penjelasan konsep inti: apa itu event streaming, topic, partition, dan use case resmi Kafka | Pemula |
| Quickstart | Langkah membangun cluster KRaft lokal, membuat topic, dan mengirim pesan pertama lewat CLI | Pemula |
| Kafka APIs | Ringkasan lima API resmi: producer, consumer, streams, connect, dan admin | Pemula |
| Downloads | Paket binary resmi per versi beserta catatan rilisnya | Semua |
Halaman Documentation adalah pusat segalanya: dari sana kita bisa melayang ke panduan memulai, referensi konfigurasi, desain, dan operasional. Sisikan waktu sepuluh menit untuk halaman Introduction karena halaman tersebut merangkum istilah-istilah yang dipakai di seluruh dokumentasi lainnya.
Konfigurasi Producer, Consumer, dan Broker #
Perilaku Kafka sangat ditentukan konfigurasi — materi yang kita bahas di chapter Producers dan Consumers dan Topics, Partitions, dan Offsets. Empat halaman referensi berikut adalah tempat mengecek arti setiap parameter dan nilainya:
| Sumber | Untuk apa | Tingkat |
|---|---|---|
| Producer Configs | Daftar konfigurasi producer: acks, retries, linger.ms, batch size, dan idempotence | Menengah |
| Consumer Configs | Daftar konfigurasi consumer: group.id, auto.offset.reset, enable.auto.commit, dan isolation.level | Menengah |
| Broker Configs | Konfigurasi level broker: replication factor bawaan, retention, dan pengaturan KRaft | Lanjutan |
| Topic-Level Configs | Konfigurasi per topic yang bisa dioverride dari nilai broker, misalnya retention.ms dan cleanup.policy | Lanjutan |
Desain Inti: Delivery Semantics, Log, dan Replikasi #
Bagian desain menjelaskan mengapa Kafka berperilaku demikian — bacaan penting setelah menyelesaikan chapter Delivery Semantics dan Konsep Stream Processing:
| Sumber | Untuk apa | Tingkat |
|---|---|---|
| Message Delivery Semantics | Penjelasan resmi at-most-once, at-least-once, dan exactly-once dari sisi producer dan consumer | Menengah |
| Using Transactions | Cara kerja transactional producer untuk exactly-once lintas partition — rujukan resmi artikel EOS di situs Kafka | Lanjutan |
| Log Compaction | Mekanisme penyimpanan snapshot terakhir per key, penting untuk changelog dan state store | Lanjutan |
| Replication | Desain replikasi partition, ISR, dan pemilihan leader — fondasi toleransi kegagalan Kafka | Lanjutan |
KRaft dan Operasional Cluster #
Mode KRaft menggantikan ZooKeeper sebagai penyimpan metadata cluster — perubahan besar yang kita bahas di chapter Apache Kafka. Tautan berikut mencakup operasional KRaft, migrasi, pemantauan, dan keamanan:
| Sumber | Untuk apa | Tingkat |
|---|---|---|
| KRaft | Panduan konfigurasi KRaft: peran controller, format metadata, dan pengelolaan quorum | Lanjutan |
| ZooKeeper ke KRaft | Ringkasan migrasi dari mode lama, berguna saat menemukan cluster warisan | Lanjutan |
| Basic Operations | Operasional harian: menambah broker, rebalance, menyeimbangkan leadership, dan mengelola consumer group | Lanjutan |
| Monitoring | Metrik broker dan consumer yang diekspos lewat JMX/MBeans untuk pemantauan | Lanjutan |
| Tiered Storage | Menyimpan log lama di penyimpanan objek agar disk lokal tetap ramping | Lanjutan |
| Geo-Replication | MirrorMaker dan replikasi lintas cluster lintas wilayah untuk pemulihan bencana | Lanjutan |
| Security | Enkripsi TLS, autentikasi SASL, dan otorisasi ACL untuk cluster produksi | Lanjutan |
| Kafka dengan Docker | Menjalankan Kafka di Docker secara resmi — cara tercepat menyiapkan lingkungan latihan | Pemula |
Untuk topik transaksi, halaman Transaction Protocol merinci protokol two-phase commit yang dipakai Kafka agar exactly-once lintas partition tetap terjaga — bacaan lanjutan setelah memahami Using Transactions .
Ekosistem: Connect dan Streams #
Di luar producer dan consumer manual, dua sub-proyek resmi menyederhanakan integrasi dan pemrosesan — keduanya kita sebut di chapter Message Queues dan Stream Processing dengan Spark:
| Sumber | Untuk apa | Tingkat |
|---|---|---|
| Kafka Connect | Kerangka menghubungkan Kafka dengan sistem eksternal lewat connector tanpa kode kustom | Menengah |
| Kafka Streams | Pustaka resmi untuk membangun aplikasi stream processing di atas Kafka | Lanjutan |
Use Case, Buku, dan Video #
Situs Kafka juga mengelola arsip bahan belajar non-dokumentasi yang jarang diketahui pemula. Manfaatkan tiga halaman berikut saat ingin melihat bagaimana organisasi lain memakai Kafka di dunia nyata:
| Sumber | Untuk apa | Tingkat |
|---|---|---|
| Use Cases | Kumpulan pola pemakaian resmi: messaging, aktivitas pelacakan, metrik, log agregasi, dan event sourcing | Pemula |
| Books and Papers | Daftar buku, makalah, dan tautan penelitian yang dikurasi tim Kafka | Menengah |
| Videos | Arsip video konferensi dan talk teknis tentang Kafka | Semua |
Jalur Belajar yang Disarankan #
Urutan berikut mengasumsikan kita telah menyelesaikan section Streaming Data dan ingin lanjut ke implementasi mandiri:
- Jalankan Quickstart sampai tuntas: membangun cluster, membuat topic, mengirim dan membaca pesan.
- Baca Introduction untuk memantapkan istilah — terutama posisi partition dan offset dalam arsitektur.
- Pelajari Producer Configs
dengan fokus pada
acks,enable.idempotence, danretries. - Lanjut ke Consumer Configs
dengan fokus pada
group.iddanauto.offset.reset. - Baca Message Delivery Semantics berpasangan dengan chapter Delivery Semantics, lalu perdalam lewat Using Transactions .
- Pelajari KRaft saat mulai menyusun cluster lebih dari satu broker.
- Tutup dengan Kafka Connect untuk mengurangi kode integrasi yang ditulis manual.
Setelah platform streaming terpetakan, kita berpindah ke wilayah penyimpanan analitik. Rujukan berikutnya menghimpun teknik modeling klasik dan dokumentasi platform warehouse modern di chapter Referensi Data Warehouse.