Skip to content

Latest commit

 

History

History
90 lines (50 loc) · 3.46 KB

Correlation ID in Headers - Uber.md

File metadata and controls

90 lines (50 loc) · 3.46 KB
github
true

مارال: سلام بچه‌ها! حالتون چطوره؟ 😊

می‌خواستم درباره یه مشکلی که داریم صحبت کنم.

ما نیاز داریم که ریکوئست‌هایی که به سمت ما میان و وارد سرویس‌های مختلف می‌شن رو ردیابی کنیم.

حسین: این موضوع خیلی مهمه. چطوری می‌خواهید این کار رو انجام بدید؟

مارال: به نظر من، بهترین راه اینه که از correlation ID استفاده کنیم.

اینطوری می‌تونیم هر درخواست رو با یه شماره منحصر به فرد ردیابی کنیم.

پیمان: آره، correlation ID خیلی کارآمده!

این شناسه می‌تونه توی هدر ریکوئست قرار بگیره و در تمام سرویس‌ها منتقل بشه. 🚀

کیان 🌈: ببخشید، میشه بیشتر توضیح بدید که این چطوری کار می‌کنه؟

حسین: البته! کیان، تصور کن هر بار که تو یه درخواست اوبر می‌دی، یه شماره مخصوص به اون درخواست بهش تعلق می‌گیره.

مثل وقتی که تو مدرسه یه کارت شناسایی داری که اسم و عکس تو روش هست.

ماهان: دقیقاً! بعد این شماره به همه معلم‌هایی که تو درس می‌دی، منتقل میشه.

مثلاً معلم ریاضی، معلم علوم، معلم ورزش و...

حسین: حالا، برای پیاده‌سازی این موضوع، ما می‌تونیم از یک middleware استفاده کنیم.

این middleware توی پایتون نوشته میشه و وظیفه‌اش اینه که correlation ID رو به هدر ریکوئست اضافه کنه.

پیمان: درست می‌گی. ما می‌تونیم از فریمورک‌هایی مثل Flask یا Django استفاده کنیم.

حسین: دقیقاً! وقتی یک ریکوئست جدید به سرور میاد، middleware ما یه correlation ID تولید می‌کنه و اون رو به هدر ریکوئست اضافه می‌کنه.

مثلاً می‌تونیم از کتابخانه uuid برای تولید این شناسه استفاده کنیم.

ماهان: و بعد این شناسه به تمام سرویس‌هایی که ریکوئست بهشون ارسال میشه، منتقل میشه. 🔍

حسین: درست همینه! و وقتی که مشکلی پیش میاد، می‌تونیم با استفاده از این correlation ID تمام لاگ‌ها و درخواست‌ها رو بررسی کنیم.

پیمان: اینطوری می‌تونیم بفهمیم که ریکوئست از کجا شروع شده و چه مراحلی رو طی کرده.

مارال: این کار به ما کمک می‌کنه تا مشکلات رو سریع‌تر شناسایی و حل کنیم.

آیا کسی می‌تونه یک نمونه کد برای پیاده‌سازی این موضوع آماده کنه؟

ماهان: من این کار رو انجام میدم!

می‌تونم یه middleware بنویسم که correlation ID رو به هدر ریکوئست اضافه کنه. 💻

حسین: عالیه! و همچنین باید مطمئن بشیم که این شناسه توی لاگ‌ها هم ثبت میشه تا بعداً بتونیم به راحتی ردیابی کنیم.