Aller au contenu

Traitement en temps réel

Le traitement en temps réel suit un objectif de latence défini. Heure de l’événement, heure de traitement et données tardives exigent des règles explicites.

Également appeléReal-Time Processing
API et contrats de données

Le traitement en temps réel traite les événements entrants en continu selon un objectif de latence défini pour l’application. Au lieu d’attendre un lot complet, l’application réagit à un flux de données. Le terme « temps réel » ne précise à lui seul ni une limite fixe en millisecondes ni un temps de réponse maximal garanti.

Dans un exemple fictif, un tableau de bord compte les tâches d’export terminées par minute. L’événement de fin de J-31 se produit à 10:04, mais n’arrive au traitement qu’à 10:07. Les deux heures utilisent le même fuseau horaire. Un calcul selon l’heure de l’événement l’affecte à la minute 10:04 ; un calcul selon l’heure de traitement l’affecte à la minute 10:07. Ils répondent à des questions différentes.

Concilier affichage rapide et résultats complets

Si l’affichage compte selon l’heure de l’événement, il faut une règle pour les arrivées tardives : le total d’une minute déjà affiché est-il corrigé, ou l’événement tardif est-il enregistré séparément ? Attendre davantage peut intégrer plus d’événements retardés, mais diffère le résultat. Un watermark marque la progression supposée du temps des événements. Des événements portant un horodatage antérieur peuvent encore arriver ensuite.

Définissez le début et la fin de la mesure de latence, l’âge de l’enregistrement en attente le plus ancien et la visibilité de l’accumulation. Les horodatages et la synchronisation des horloges font aussi partie d’une attribution temporelle fiable. Un tableau de bord régulièrement actualisé ne prouve pas à lui seul que les événements sous-jacents ont déjà tous été traités.

Sources