Comment tracer une transaction en asynchrone avec des logs éparpillés?
#1
Je suis en train de refactoriser un vieux module de synchronisation de données et je me demande si j'ai pris la bonne direction. J'ai tout basculé vers des appels asynchrones avec des files d’attente, mais maintenant je me retrouve avec un problème de logs éparpillés et c’est difficile de suivre le flot d’une requête précise. J’ai pensé implémenter un identifiant de corrélation pour tracer chaque transaction, mais je ne sais pas si c’est overkill ou une pratique standard. Certains d’entre vous ont-ils déjà été dans cette situation ?
Répondre
#2
Pour moi c est standard dans les architectures distribuées l identifiant de corrélation se propage du point d entree du systeme jusqu aux consommateurs et permet un vrai tracing de bout en bout. On attache cet identifiant au flux via les messages et on l enrichit dans les logs et les métriques tout au long du trajet. En pratique il faut viser une propagation systématique via les messages et utiliser un tracing comme OpenTelemetry Jaeger ou Zipkin pour agréger les traces. L enjeu c est la cohérence du même identifiant de corrélation à chaque étape et la capacité à remonter tout le flux malgré l asynchronie.
Répondre
#3
J avoue que cela peut sembler overkill si ton module est petit et que tu n as que quelques interactions mais avec une file d attente l identifiant de corrélation devient vite utile pour relier des logs dispersés et comprendre le flot d un flux unique.
Répondre
#4
Oui c est standard d ajouter un identifiant de corrélation et de le propager dès l entree du flux. Mets le dans le message et fais le suivre tout au long des etapes et des logs et traces. Pour la pratique pense a OpenTelemetry et a une solution de tracing pour regrouper les entrees.
Répondre
#5
J ai eu une experience similaire et l ajout d un identifiant de corrélation a radicalement clarifié le tri des logs. On peut enrichir chaque evenement avec cet identifiant et des tags comme queue ou stage puis remonter le flot sans se perdre.
Répondre
#6
Peut etre que le vrai sujet n est pas corrélation mais traçabilite de bout en bout penses tu a un seul identifiant pour tout le flux ou des spans a chaque etape et une visualisation claire des traces dans le dashboard ?
Répondre
#7
Je suis un peu sceptique sur l utilité d un identifiant de corrélation unique si la charge est élevée et les logs deviennent lourds. Peut etre que des dashboards centralisés ou des filtres intelligents suffisent pour du tri rapide mais l idee de corrélation peut aussi devenir un fardeau si on tente d universellement taguer tout.
Répondre


[-]
Réponse rapide
Message
Saisissez votre réponse à ce message ici.

Code de confirmation
Veuillez saisir le texte figurant dans l’image ci-dessous. Ce procédé permet de bloquer les robots.
Code de confirmation
(insensible à la casse)

Aller au forum