Populaire streaming-systemen

Streaming-concepten

Mike Metzger

Data engineer

Streaming-tools

  • Diverse tools beschikbaar afhankelijk van je behoefte
  • Laat ontwerpers het beste hulpmiddel kiezen
  • Veelgebruikte systemen:
    • Celery
    • Kafka
    • Spark Streaming

Celery

Apache Kafka

Spark Streaming

Streaming-concepten

Celery

  • Gedistribueerde taakwachtrij / FIFO
  • Vooral gebruikt als job- of taakqueue
  • Vaak voor asynchrone taken
    • Wachtwoord-reset e-mails sturen
    • Digitale orders afhandelen
    • Afbeeldingen resizen
  • Maakt realtime verwerking van veel berichten mogelijk
  • Functionaliteit voor beheer en schaalbaarheid (verticaal & horizontaal)

Celery-project

Streaming-concepten

Apache Kafka

  • Gedistribueerd event-streamingsysteem
  • Ontworpen om events te versturen tussen producers en consumers
    • Producers maken events op een topic
    • Topics zijn basically berichten met een vast formaat
    • Consumers ontvangen nieuwe events
  • Verschillende consumers kunnen events naar behoefte verwerken (logging, transformaties, doorsturen, etc.)
  • Verzorgt opslag van events zoals ingesteld
  • Zeer krachtig, maar lastig om op te zetten

Apache Kafka

Streaming-concepten

Kafka-toepassingen

  • Beste voor gegevens doorgeven tussen meerdere systemen
    • Enkele bron van waarheid
    • Change data capture
    • Back-ups van data
    • Migraties van datasystemen
Streaming-concepten

Spark Streaming

  • Onderdeel van Apache Spark
  • Ontworpen voor streaming data
  • Bouwt voort op Spark om data te verwerken in Scala, Python, SQL, enz.
  • Handig voor grote hoeveelheden data en machine learning
  • Kan vrij eenvoudig van batch naar stream gaan
  • Niet bedoeld om events op te slaan of te loggen, maar om data te verwerken of te wijzigen

Apache Spark

Streaming-concepten

Laten we oefenen!

Streaming-concepten

Preparing Video For Download...