Kenali unbounded data, anatomi sistem stream processing dari source hingga sink, dan cara state diperbarui secara increment ketika event pesanan terus mengalir tanpa henti.
Buka → # Batch vs Stream ProcessingUkur langsung agregasi yang sama dalam dua gaya — batch menunggu data lengkap lalu memproses sekali jalan, stream memperbarui hasil per event — dan baca perbedaan nyatanya pada hasil antara.
Buka → # Event-Driven ArchitectureBangun arsitektur yang berkomunikasi lewat event: envelope standar dengan id unik, pola publish-subscribe di atas event bus, serta dedup untuk menoleransi redelivery.
Buka → # Message QueuesPelajari peran antrean pesan untuk melepas kopling producer dan consumer, dua pola distribusinya, dan bukti nyata backpressure lewat eksperimen bounded queue berbasis thread.
Buka → # Apache KafkaKenalkan platform streaming terdistribusi paling umum: log replikasi di disk sebagai pengganti antrean memori, mode KRaft tanpa ZooKeeper sejak versi 4.x, dan klien Python producer-consumer.
Buka → # Topics, Partitions, dan OffsetsBedah tiga fondasi penyimpanan Kafka: topic sebagai kategori event, partition sebagai unit paralelisme sekaligus jaminan urutan, dan offset sebagai alamat pesan — lengkap dengan simulasi rebalance consumer group.
Buka → # Producers dan ConsumersBedah mekanika producer dan consumer Kafka: record batch, konfigurasi acks, idempotent producer, poll loop, serta simulasi retry yang memunculkan duplikat.
Buka → # Consumer GroupsBagi beban topic ke banyak consumer dengan consumer group, pahami protokol rebalance stop-the-world, lalu bandingkan keanggotaan dinamis dengan static membership lewat simulasi rolling restart.
Buka → # Delivery SemanticsUji at-most-once, at-least-once, dan exactly-once lewat simulasi crash di titik yang sama, lalu pahami transaksi Kafka untuk pipeline consume-process-produce yang bebas duplikat.
Buka → # Event Time vs Processing TimeBedakan jam kejadian di payload dari jam penerimaan di prosesor, buktikan lewat simulasi bahwa pesanan bisa tiba teracak, dan lihat mengapa windowing berbasis waktu proses merusak laporan.
Buka → # WindowingPecah stream tak berujung menjadi potongan berhingga dengan tumbling, sliding, dan session window, lalu praktikkan ketiganya lewat windower Python murni di atas stream klik produk.
Buka → # Watermarks dan Late EventsPelajari cara watermark = event time maksimum - allowed lateness mengklasifikasikan late event, menutup window, dan membuang event terlambat lewat simulasi Python murni serta eksekusi nyata Spark.
Buka → # Stream JoinsGabungkan stream dengan tabel statis untuk enrichment dan stream dengan stream lewat interval join berbasis watermark, lengkap dengan dua eksekusi nyata PySpark dan aturan tiap tipe join.
Buka → # Schema RegistryKelola evolusi skema event lewat schema registry: skema Avro, mode kompatibilitas BACKWARD sampai FULL, skenario evolusi yang aman versus yang merusak, dan alur registrasi-serialisasi lintas producer dan consumer.
Buka → # Stream Processing dengan SparkBangun pipeline streaming Spark yang tahan gagal: state store dan isi direktori checkpoint dari eksekusi nyata, enrichment hasil agregasi lewat stream-static join, pola foreachBatch, dan tiga syarat exactly-once end-to-end.
Buka → # Monitoring Streaming PipelinePantau kesehatan pipeline streaming: rumus consumer lag per partisi, metrik lastProgress Spark seperti inputRowsPerSecond dan durationMs, ambang SLO, serta strategi alert - semuanya lewat simulasi dan eksekusi nyata.
Buka →