Reconstruire les décomptes de votes avec Kafka s’adresse aux personnes qui connaissent les clients Kafka de base et veulent reconstruire un résultat métier utile à partir d’événements retenus. Vous reconstruirez les décomptes des stands d’exposition en distinguant une nouvelle tentative d’un nouveau vote, tout en préservant la progression de lecture d’une application d’affichage existante.
Deux laboratoires guidés développent la règle globale d’identité, puis un rejeu natif indépendant complet. Un défi applique les mêmes mécanismes à deux nouveaux lots d’exposition et à un conflit volontaire. Chaque unité démarre indépendamment. L’auteur estime le cours à environ 140–170 minutes, lecture et erreurs courantes comprises ; il ne s’agit pas d’un temps d’achèvement mesuré auprès de débutants.
Ce que vous apprendrez
À la fin du cours, vous saurez :
- distinguer la partition/l’offset d’un enregistrement Kafka d’un ID global d’événement métier ;
- compter une seule fois les nouvelles tentatives identiques tout en conservant des ID distincts dont le reste du contenu est égal ;
- refuser les valeurs contradictoires d’un même ID plutôt que de choisir un gagnant selon l’ordre d’arrivée ;
- capturer la borne figée de chaque partition et lire un lot fini complet malgré les partitions vides, les positions sautées et les sondages temporairement inactifs ;
- publier et lire des instantanés complets contenant les enveloppes physiques sources, les votes logiques et le décompte de chaque stand, y compris zéro ;
- réutiliser un même programme Python pour différents catalogues et répartitions de partitions sans faire reculer les groupes d’affichage originaux.
À qui s’adresse ce cours
Ce cours s’adresse aux personnes qui savent déjà publier et consommer des événements JSON avec Kafka et souhaitent construire une vue dérivée indépendante.
Prérequis : Chemins de base dans le terminal ; fonctions, boucles, dictionnaires et JSON en Python ; clés, partitions, offsets, groupes de consommateurs et pratique des producteurs/consommateurs Python de Kafka présentés dans Apache Kafka for Beginners. Terminez les deux laboratoires guidés avant le défi.
Environnement d’apprentissage : Chaque unité dispose d’un environnement Linux préparé avec Terminal, d’un véritable broker Kafka local, du client Python installé, de lots d’exposition synthétiques et d’outils de lecture des résultats. Aucun compte externe ni installation locale n’est nécessaire. Les commandes, étiquettes des outils et sorties d’exécution sont en anglais.
Questions fréquentes
S’agit-il d’un système d’identité des votants ou d’une personne, une voix ?
Non. Le métier fourni considère chaque nouvel ID d’événement comme un vote accepté. Vous reconstruisez ces événements ; vous n’établissez ni l’identité d’un véritable visiteur ni son droit de voter à nouveau.
Le cours enseigne-t-il le streaming continu ou le traitement exactement une fois ?
Le cours traite des journaux finis figés. Il enseigne une reconstruction complète et le refus des conflits sans promettre de reprise de flux continus, d’atomicité intersystèmes, de durabilité après plantage ni de comportement exactement une fois de bout en bout.
Comment le défi prolonge-t-il les laboratoires guidés ?
Il change les noms des stands, les relations entre événements, les nombres de partitions et leurs répartitions. Les mêmes interfaces Python et mécanismes de rejeu enseignés doivent produire les deux instantanés valides et refuser un lot volontairement conflictuel tout en préservant le résultat utile.

