Arsitektur Kafka

Pengantar Apache Kafka

Mike Metzger

Data Engineering Consultant

Komponen Kafka

  • Server Kafka
    • Klaster berisi satu atau lebih komputer
    • Menyimpan data
    • Mengelola komunikasi
    • Dapat terintegrasi dengan sistem lain (database, log, dll)
  • Klien Kafka
    • Membaca via Kafka consumer
    • Menulis via Kafka producer
    • Memroses data sesuai kebutuhan
Pengantar Apache Kafka

Server Kafka

  • Penyimpanan, juga disebut Kafka Broker
    • Data dari producer disimpan dan diatur via topik
    • Topik dipartisi, disimpan dalam bagian terpisah
    • Pesan/peristiwa disimpan di partisi tertentu berdasarkan event id
    • Pesan diambil dalam urutan yang sama seperti saat ditulis

Penyimpanan dan partisi Kafka

1 Gambar dari https://kafka.apache.org/intro
Pengantar Apache Kafka

Partisi & replikasi

  • Kafka toleran kesalahan
  • Jika satu sistem offline, yang lain tetap dapat menyajikan data
  • Jumlah kegagalan maks - 1 == faktor replikasi
  • Faktor replikasi maks == jumlah server
  • Replikasi dilakukan dengan menyalin partisi

Klaster Kafka, broker, dan topik.png

Pengantar Apache Kafka

Contoh

Klaster Kafka, broker, dan topik.png

  • Klaster Kafka dengan 3 broker
  • 3 topik didefinisikan
  • Replikasi 2x == dapat kehilangan 1 sistem
  • Broker 1 menyimpan salinan Topik 1 & Topik 2
  • Broker 2 menyimpan salinan Topik 2 & Topik 3
  • Broker 3 menyimpan salinan Topik 1 & Topik 3
  • Tiap topik tersebar di 2 broker dalam klaster
Pengantar Apache Kafka

Contoh dengan 1 kegagalan

Klaster Kafka, broker, dan topik - 1 broker gagal.png

  • Broker 2 gagal
  • Faktor replikasi 2x
    • 2 - 1 == dapat menangani 1 kegagalan
  • Tiap topik masih punya minimal satu salinan di klaster
Pengantar Apache Kafka

Contoh dengan 2 kegagalan

Klaster Kafka, broker, dan topik - 2 broker gagal.png

  • 2 broker gagal
  • Faktor replikasi 2x
  • Kegagalan melebihi batas dukungan (1 sistem)
  • Topik 2 tidak lagi tersedia di klaster
    • Topik 1 dan 3 masih tersedia, jadi bukan kegagalan total
Pengantar Apache Kafka

Ayo berlatih!

Pengantar Apache Kafka

Preparing Video For Download...