Pipeline à faible latence
Un pipeline à faible latence est une architecture de traitement de données conçue pour minimiser le délai entre la génération des données (ingestion) et leur mise à disposition pour consommation ou action (sortie). Essentiellement, il privilégie la vitesse par rapport à l'efficacité par lots, assurant une réactivité quasi en temps réel.
Dans les applications modernes et gourmandes en données, les délais peuvent se traduire directement par une perte de revenus, une mauvaise expérience utilisateur ou des défaillances opérationnelles critiques. Par exemple, dans la détection de fraude, un délai de quelques secondes peut permettre à une transaction frauduleuse de se finaliser. La faible latence est cruciale pour les systèmes nécessitant des boucles de rétroaction immédiates.
Ces pipelines reposent généralement sur des technologies de traitement de flux plutôt que sur le traitement par lots traditionnel. Les données sont ingérées en continu à partir de sources (comme des capteurs IoT ou des clics d'utilisateurs) et traitées de manière incrémentielle au fur et à mesure de leur arrivée. Les composants clés comprennent souvent des courtiers de messages (comme Kafka) et des moteurs de traitement de flux (comme Flink ou Spark Streaming) qui gèrent la séquence et la transformation des événements avec une surcharge minimale.
La mise en œuvre de systèmes à faible latence introduit une complexité. Les défis comprennent la gestion de l'état à travers des flux distribués, l'assurance d'une sémantique de traitement "exactement une fois" et la gestion de la contre-pression lorsque les taux d'ingestion des données dépassent la capacité de traitement.
Ce concept est étroitement lié aux Systèmes à Haut Débit (High Throughput Systems, qui se concentrent sur le volume) et au Calcul en périphérie (Edge Computing, qui se concentre sur la proximité de la source de données).