Sistem streaming populer

Konsep Streaming

Mike Metzger

Data engineer

Alat streaming

  • Banyak alat tersedia sesuai kebutuhan
  • Memungkinkan perancang memilih alat terbaik untuk tugasnya
  • Sistem umum meliputi:
    • Celery
    • Kafka
    • Spark Streaming

Celery

Apache Kafka

Spark Streaming

Konsep Streaming

Celery

  • Antrian tugas terdistribusi / FIFO
  • Utama untuk antrian job/tugas
  • Sering untuk tugas asinkron
    • Mengirim email reset sandi
    • Memenuhi pesanan digital
    • Mengubah ukuran gambar
  • Memungkinkan pemrosesan real-time untuk banyak pesan
  • Menyediakan fitur manajemen dan skala (vertikal & horizontal)

Proyek Celery

Konsep Streaming

Apache Kafka

  • Sistem event streaming terdistribusi
  • Dirancang untuk mengirim event antara produser dan konsumer
    • Produser membuat event pada topik
    • Topik pada dasarnya pesan dengan bentuk tertentu
    • Konsumer menerima event baru
  • Konsumer berbeda dapat menangani event sesuai kebutuhan (logging, transformasi, perantara, dll.)
  • Menangani penyimpanan event sesuai spesifikasi
  • Sangat kuat, namun bisa rumit saat konfigurasi

Apache Kafka

Konsep Streaming

Aplikasi Kafka

  • Terbaik untuk mengalirkan data antar beberapa sistem
    • Satu sumber kebenaran
    • Penangkapan perubahan data
    • Pencadangan data
    • Migrasi sistem data
Konsep Streaming

Spark Streaming

  • Bagian dari Apache Spark
  • Dirancang untuk memproses data streaming
  • Memanfaatkan kemampuan Spark untuk memproses data dalam Scala, Python, SQL, dan lainnya
  • Berguna untuk memproses data dalam jumlah besar dan skenario machine learning
  • Dapat beralih dari batch ke stream dengan cukup mudah
  • Tidak untuk menyimpan atau mencatat event; terutama untuk memproses atau memodifikasi data

Apache Spark

Konsep Streaming

Ayo berlatih!

Konsep Streaming

Preparing Video For Download...