پرش به مطلب اصلی

تریس (Distributed Tracing) چیست؟

· خواندن 2 دقیقه
نیما نکوئی نیا
Software Developer

تریس (Distributed Tracing) چیست؟

توی این ویدیو قراره در مورد Distributed Tracing صحبت کنیم. اگه تا حالا تو یه سیستم توزیع‌شده با مشکلات دیباگینگ مواجه شدین و نمی‌دونستین که یه درخواست چطوری بین چندین سرویس جا‌به‌جا می‌شه، این ویدیو برای شماست!



📌 چرا Distributed Tracing مهمه؟

در معماری‌های Microservices، یه درخواست ممکنه از چندین سرویس عبور کنه. مثلا وقتی توی یه اپلیکیشن سفارش آنلاین، یه سفارش ثبت می‌کنی، این درخواست از چندین سرویس مثل سرویس کاربر، سبد خرید، پرداخت، انبارداری و نوتیفیکیشن رد می‌شه. حالا اگه یه مشکلی پیش بیاد، چطور می‌فهمیم که کجا رخ داده؟ اینجاست که Distributed Tracing به کمک ما میاد.

⚙ Distributed Tracing چطوری کار می‌کنه؟

1- Trace ID: هر درخواست یه Trace ID منحصربه‌فرد می‌گیره که بین همه‌ی سرویس‌هایی که درخواست ازشون عبور می‌کنه، منتقل می‌شه.

2- Span: هر بخشی از پردازش که توی یه سرویس انجام می‌شه، یه Span بهش تعلق می‌گیره. این Spanها نشون می‌دن که هر بخش از درخواست چقدر زمان برده و چه اتفاقی افتاده.

3- Propagation: تریس آیدی از طریق هدر HTTP یا متادیتای پیام‌ها منتقل می‌شه، مثلاً با W3C Trace Context یا B3 Headers.

لینک ریپازیتوری پروژه:

Gihtub