Chapitre 6. Traitement déterministe des flux
Les microservices axés sur les événements ont généralement des topologies plus complexes que celles présentées dans le chapitre précédent. Les événements sont consommés et traités à partir de plusieurs flux d'événements, tandis que le traitement avec état (abordé dans le chapitre suivant) est nécessaire pour résoudre de nombreux problèmes commerciaux. Les microservices sont également sujets aux mêmes défauts et crashs que les systèmes non microservices. Il n'est pas rare d'avoir un mélange de microservices qui traitent des événements en temps quasi réel tandis que d'autres microservices nouvellement démarrés rattrapent leur retard en traitant des données historiques.
Voici les trois principales questions abordées dans ce chapitre :
-
Comment un microservice choisit-il l'ordre des événements à traiter lorsqu'il consomme à partir de plusieurs partitions ?
-
Comment un microservice gère-t-il les événements hors service et ceux qui arrivent en retard ?
-
Comment s'assurer que nos microservices produisent des résultats déterministes lorsqu'ils traitent des flux en temps quasi réel par rapport à un traitement depuis le début des flux ?
Nous pouvons répondre à ces questions en examinant les horodatages, la planification des événements, les filigranes et les temps de flux, et la façon dont ils contribuent à un ...