Systèmes de diffusion populaires

Concepts de diffusion en continu

Mike Metzger

Data engineer

Outils de diffusion

  • Divers outils offerts selon les besoins
  • Permet aux concepteurs de choisir l'outil le mieux adapté
  • Systèmes courants :
    • Celery
    • Kafka
    • Spark Streaming

Celery

Apache Kafka

Spark Streaming

Concepts de diffusion en continu

Celery

  • File d'attente de tâches distribuée / FIFO
  • Sert surtout de file d'attente de travaux ou de tâches
  • Souvent utilisée pour des tâches asynchrones
    • Envoi de courriels de réinitialisation de mot de passe
    • Traitement de commandes numériques
    • Redimensionnement d'images
  • Permet le traitement en temps réel d'un grand volume de messages
  • Offre des fonctions de gestion et de mise à l'échelle (verticale et horizontale)

Projet Celery

Concepts de diffusion en continu

Apache Kafka

  • Système de diffusion d'événements distribué
  • Conçu pour transmettre des événements entre producteurs et consommateurs
    • Les producteurs créent des événements sur un topic
    • Les topics sont essentiellement des messages d'un format donné
    • Les consommateurs reçoivent les nouveaux événements
  • Différents consommateurs peuvent traiter les événements au besoin (journalisation, transformations, relais, etc.)
  • Gère l'entreposage des événements selon les paramètres
  • Extrêmement puissant, mais la configuration peut être ardue

Apache Kafka

Concepts de diffusion en continu

Applications de Kafka

  • Idéal pour transférer des données entre plusieurs systèmes
    • Source unique de vérité
    • Capture de changements de données
    • Sauvegardes de données
    • Migrations de systèmes de données
Concepts de diffusion en continu

Spark Streaming

  • Fait partie d'Apache Spark
  • Conçu pour traiter des données en continu
  • S'appuie sur Spark pour traiter en Scala, Python, SQL, etc.
  • Utile pour de grands volumes de données et des scénarios de Machine Learning
  • Permet de passer du lot au flux assez facilement
  • Non conçu pour stocker consigner les événements, mais surtout pour traiter ou modifier les données

Apache Spark

Concepts de diffusion en continu

Passons à la pratique !

Concepts de diffusion en continu

Preparing Video For Download...