Sisteme de streaming populare

Concepte de streaming

Mike Metzger

Data engineer

Instrumente de streaming

  • Diverse instrumente disponibile în funcție de nevoi
  • Permite alegerea celui mai potrivit instrument
  • Sisteme comune includ:
    • Celery
    • Kafka
    • Spark Streaming

Celery

Apache Kafka

Spark Streaming

Concepte de streaming

Celery

  • Coadă de sarcini distribuită / FIFO
  • Utilizat în principal ca coadă de joburi sau sarcini
  • Frecvent folosit pentru sarcini asincrone
    • Trimiterea de e-mailuri pentru resetarea parolei
    • Procesarea comenzilor digitale
    • Redimensionarea imaginilor
  • Permite procesarea în timp real a unui număr mare de mesaje
  • Oferă funcționalități de management și scalare (verticală și orizontală)

Proiectul Celery

Concepte de streaming

Apache Kafka

  • Sistem distribuit de streaming de evenimente
  • Conceput pentru transmiterea evenimentelor între producători și consumatori
    • Producătorii creează evenimente pe un topic
    • Topic-urile sunt practic mesaje de un format specificat
    • Consumatorii primesc evenimente noi
  • Diferiți consumatori pot gestiona evenimentele după necesitate (jurnalizare, transformări, redirecționare etc.)
  • Gestionează stocarea evenimentelor conform configurației
  • Extrem de puternic, dar poate fi dificil de configurat

Apache Kafka

Concepte de streaming

Aplicații Kafka

  • Recomandat pentru transferul datelor între sisteme multiple
    • Sursă unică de adevăr
    • Capturarea modificărilor de date
    • Backup-uri de date
    • Migrarea sistemelor de date
Concepte de streaming

Spark Streaming

  • Parte din Apache Spark
  • Conceput pentru procesarea datelor de tip streaming
  • Extinde capabilitățile Spark pentru procesarea datelor în Scala, Python, SQL etc.
  • Util pentru procesarea volumelor mari de date și în scenarii de machine learning
  • Permite tranziția de la batch la stream relativ ușor
  • Nu este destinat stocării sau jurnalizării evenimentelor, ci în principal procesării sau modificării datelor

Apache Spark

Concepte de streaming

Să exersăm!

Concepte de streaming

Preparing Video For Download...