Distributed Tracing

الهدف الأساسي من الـ Distributed Tracing هو توفير رؤية واضحة لرحلة الطلب (Request) عشان لو فيه مشاكل أو بطء في الأداء نقدر نحدد مصدرها. بنقدر نعرف فين بالتحديد الـ bottleneck أو الخدمة اللي فيها مشكلة.
Distributed Tracing
Distributed Tracing

المقدمة

في التطبيقات الكبيرة وخصوصًا اللي بتتعامل مع المايكروسيرفسز (Microservices)، بيبقى عندنا الـ System مُقسم لمجموعة خدمات (Services) صغيرة بتشتغل مع بعض عشان تنفذ المهام.

ولما بيجي طلب (Request)، بيعدي من خلال كذا خدمة، وأحياناً ممكن يعدي على سيرفرات مختلفة. هنا بيجي دور الـ Distributed Tracing، اللي هو عملية تتبع الطلب عبر النظام كله عشان نعرف مشواره من أول ما وصل لحد ما خلص.

والهدف الأساسي من الـ Distributed Tracing هو توفير رؤية واضحة لرحلة الطلب (Request) عشان لو فيه مشاكل أو بطء في الأداء نقدر نحدد مصدرها. بنقدر نعرف فين بالتحديد الـ bottleneck أو الخدمة اللي فيها مشكلة. الفكرة ببساطة إننا بنخلي النظام زي خريطة واضحة للـ flow بتاع الطلبات عشان نقدر نفهم كل خطوة.

وعشان نفهم اكتر رحلة الـ Request Flow ونتعرف ازاي الـ Distributed Tracing بيتم محتاجين نتعرف اصلا على الـ TraceID.


TraceID


وقت ما بتعمل Order من تطبيق توصيل للأكل الطلب بتاعك بيمر ب Services كتير من اول تحديد المطاعم المتاحة لحساب وقت التوصل و إرسال الطلبات لعامل التوصيل و خدمة تتبع الطلب إلخ…

فالـ Trace Id بيكون " مُعرف التتبع " بيكون مع الطلب و هو رايح لكل Service من دي عشان يميز الـ Order دا عن غيره و نعرف نتتبع مساره من أول خدمة لاخر خدمة.

ودا لأن كل Service بتعامل الـ Order كـ Request جديد وممكن متكونش عارفة حاجة عن الـ Service اللي قبلها او اللي بعدها.

💡
الـ TraceID هو حاجة أساسية جداً في عملية التتبع دي. ده عبارة عن Identifier (معرف) بيبقى مميز لكل طلب، بيتولد مع أول خطوة بيعملها الطلب في النظام. الهدف منه إنه يخلي كل خطوة أو خدمة تشتغل مع الطلب ده تقدر تتعرف عليه.

وقت الـ Monitoring نقدر نستخدم الـ TraceID عشان نحصل علي ال Logs او الـ Errors المرتبطة بالطلب دا من كل الخدمات في نظامنا في مكان واحد.

Distributed Tracing

تقدروا دلوقتي تشتركوا في النشرة الأسبوعية لاقرأ-تِك بشكل مجاني تمامًا عشان يجيلكوا كل جديد بشكل أسبوعي فيما يخص مواضيع متنوعة وبشروحات بسيطة وسهلة وبجودة عالية 🚀

النشرة هيكون ليها شكل جديد ومختلف عن شكلها القديم وهنحاول انها تكون مميزة ومختلفة وخليط بين المحتوى الأساسي اللي بينزل ومفاجآت تانية كتير 🎉

Eqraatech Newsletter | Eqraatech - اقرأ-تِك | Substack
محتوى تقني متميز في مختلف مجالات هندسة البرمجيات باللغة العربية عن طريق تبسيط المفاهيم البرمجية المعقدة بشكل سلس وباستخدام صور توضيحية مذهلة. Click to read Eqraatech Newsletter, a Substack publication with hundreds of subscribers.

بفضل الله قمنا بإطلاق قناة اقرأ-تِك على التليجرام مجانًا للجميع 🚀

آملين بده اننا نفتح باب تاني لتحقيق رؤيتنا نحو إثراء المحتوى التقني باللغة العربية ، ومساعدة لكل متابعينا في انهم يوصلوا لجميع أخبار اقرأ-تِك من حيث المقالات ومحتوى ورقة وقلم والنشرة الأسبوعية وكل جديد بطريقة سريعة وسهلة

مستنينكوا تنورونا , وده رابط القناة 👇

https://t.me/eqraatechcom


ما هي فوائد استخدام الـ Tracing

هذا المقال مخصص للأعضاء المنتسبين لخطط الاشتراك المدفوعة فقط

اشترك الآن بنشرة اقرأ-تِك الأسبوعية

لا تدع أي شيء يفوتك. واحصل على أحدث المقالات المميزة مباشرة إلى بريدك الإلكتروني وبشكل مجاني!