Belajar Apache Kafka (distributed event streaming platform) dari dasar hingga production-grade: setup environment, sejarah, arsitektur inti, topics & partitions, producers & consumers, serialization & schema management, ordering & delivery semantics, transactions, log compaction, tiered storage, Kafka Connect, Kafka Streams, ksqlDB, networking & multi-datacenter, security (SASL, ACLs, TLS), quotas, scaling, performance tuning, monitoring & alerting, high availability, disaster recovery, microservices, CDC dengan Debezium, Kubernetes dengan Strimzi & Docker, AWS MSK & Confluent Cloud, CI/CD, testing, hingga best practices & masa depan Kafka dengan total 36 episode.
Sebelum menyentuh Apache Kafka, kalian perlu menguasai konsep distributed systems, pub/sub messaging, dan serialisasi data. Di episode ini kalian juga menyiapkan JDK, Kafka binary, dan Docker, lalu memverifikasi bahwa seluruh environment siap digunakan.

Episode ini membahas perjalanan event streaming dari traditional messaging hingga kelahiran Apache Kafka di LinkedIn pada 2011. Kalian juga akan mempelajari masalah yang diselesaikan Kafka, perbandingannya dengan RabbitMQ, Kinesis, dan Pulsar, serta use case utama event streaming.

Episode ini membedah konsep inti Kafka: event, topic, partition, broker, cluster, offset, dan consumer group. Kalian juga akan memahami arsitektur distributed commit log, peran controller broker, mekanisme replikasi, serta storage berbasis log segment.

Episode ini memandu instalasi Kafka dengan binary, Docker, dan cloud managed service. Kalian akan memahami perbedaan ZooKeeper dan KRaft mode, membangun single-node serta multi-broker cluster, dan menguasai CLI tools untuk mengelola cluster.

Episode ini membedah topic dan partition secara mendalam: pembuatan topic, aturan penamaan, parameter konfigurasi, strategi partitioning berbasis key, round-robin, custom partitioner, hingga retention, segment, dan cleanup policy seperti delete dan compact.

Episode ini membahas producer Kafka: struktur ProducerRecord, konfigurasi dasar, pola pengiriman fire-and-forget, synchronous, dan asynchronous dengan callback, batching, tuning acks, retries, compression, hingga idempotent producer untuk mencegah duplikasi.

Episode ini membahas consumer Kafka: subscription, polling, lifecycle, consumer group dan rebalancing, strategi assignment partition, pengelolaan offset dengan auto-commit dan manual commit, serta tuning parameter consumer untuk latensi dan throughput yang tepat.

Episode ini membahas serialisasi data Kafka: String, JSON, Avro, dan Protobuf, serta perbedaan performa dan kemudahan pakainya. Kalian juga akan mempelajari Confluent Schema Registry, schema evolution, compatibility types, dan praktik terbaik desain skema.

Episode ini membahas jaminan ordering Kafka: ordering per partition dan per key, batasan global ordering, serta delivery semantics at-most-once, at-least-once, dan exactly-once. Kalian juga akan memahami peran idempotent producer dan transactional messaging sebagai fondasi EOS.

Episode ini membahas Kafka transactions: lifecycle initTransactions, beginTransaction, send, commitTransaction, dan abortTransaction. Kalian juga akan mempelajari pola read-process-write, konfigurasi transactional.id, transaction.timeout.ms, isolation.level, serta trade-off performanya.
