ما المقصود بالتتبع الموزَّع؟

يشير التتبع الموزَّع إلى مراقبة طلبات البيانات أثناء تدفقها عبر نظام موزَّع. غالبًا ما تحتوي بنية الخدمات المصغرة الحديثة على العديد من المكونات المستقلة الصغيرة، علمًا أنّ هذه المكونات تتواصل باستمرار وتتبادل البيانات باستخدام واجهات برمجة التطبيقات للقيام بأعمال معقدة. باستخدام التتبع الموزَّع، يمكن للمطورين تتبع مسار الطلب، أو متابعته بصريًا، في الخدمات المصغرة المختلفة. تساعد إمكانية التتبّع هذه في استكشاف الأخطاء وحلّها، أو إصلاح الخلل والمشاكل في الأداء.

ما هي فوائد التتبع الموزع؟

يمكن لمطوري البرامج تنفيذ أنظمة التتبع الموزع في أي بيئة سحابية أصلية تقريبًا، بالإضافة إلى تسجيل التتبع الموزع التي تولدها التطبيقات السحابية. علاوة على ذلك، تدعم أدوات التتبع العديد من لغات البرمجة ومكدسات البرامج، مما يسمح لفرق البرامج بمراقبة وجمع بيانات الأداء لتطبيقات مختلفة على نفس النظام الأساسي. 

تستخدم فرق التطوير التتبع الموزع لتحسين إمكانية الملاحظة، بالإضافة إلى حل مشكلات الأداء التي لا يمكن لأدوات تصحيح الأخطاء والمراقبة التقليدية للبرامج المساعدة فيها. 

فيما يلي المزيد من فوائد التتبع الموزع.

تسريع استكشاف أخطاء البرامج وإصلاحها

تعتمد التطبيقات الحديثة على العديد من الخدمات المصغرة لتبادل البيانات وتلبية طلبات الخدمة عبر الأنظمة الموزعة. يعد استكشاف مشكلات الأداء وإصلاحها في البنية القائمة على الخدمات المصغرة أكثر صعوبة بكثير من التطبيقات البرمجية المتجانسة. على عكس التطبيقات المتجانسة، قد لا يكون السبب الجذري لمشكلة برمجية معينة واضحًا - فالتفاعلات المتداخلة والمعقدة بين وحدات البرامج المتعددة يمكن أن تجعل من الصعب تشخيص المشكلات. 

من خلال التتبع الموزع، يمكن لفرق البرامج مراقبة البيانات التي تمر عبر مسارات معقدة تربط مختلف الخدمات المصغرة وتخزين البيانات. باستخدام أدوات التتبع الموزعة، تقوم فرق البرامج بتتبع الطلبات وتصور مسارات نشر البيانات بدقة. يمكن لفرق البرامج حل مشكلات الأداء على الفور وتقليل انقطاع الخدمة. 

تحسين تعاون المطورين

غالبًا ما يشارك العديد من المطورين في إنشاء تطبيق سحابي، حيث يكون كل منهم مسؤولاً عن واحدة أو أكثر من الخدمات المصغرة. تتباطأ عملية تطوير البرامج إذا لم يتمكن المطورون من تتبع البيانات المتبادلة بواسطة الخدمات المصغرة. باستخدام أنظمة التتبع الموزع، يمكن للمطورين التعاون من خلال توفير بيانات القياس عن بُعد، مثل السجلات والتتبعات، لكل طلب خدمة تقدمه الخدمة المصغرة. يمكن للمطورين الاستجابة بدقة للأخطاء ومشكلات البرامج الأخرى التي تم اكتشافها أثناء الاختبار والإنتاج. 

تقليل وقت الطرح بالأسواق

يمكن للمؤسسات التي تنشر منصات التتبع الموزع تبسيط وتسريع الجهود لإطلاق تطبيقات البرامج للمستخدمين النهائيين. تقوم فرق البرامج بمراجعة التتبع الموزع للحصول على نظرة ثاقبة تعمل على تسريع تطوير البرامج وتقليل تكاليف التطوير وفهم سلوكيات المستخدم وتحسين استعداد السوق. 

ما هي الأنواع المختلفة من التتبع الموزع؟

تستخدم فرق البرامج أدوات التتبع الموزعة لمراقبة التطبيقات وتحليلها وتحسينها.

تتبع التعليمات البرمجية

تتبع الكود هو عملية برمجية تقوم بفحص تدفق أكواد المصدر في التطبيق عند تنفيذ وظيفة محددة. يساعد المطورين على فهم التدفق المنطقي للشفرة وتحديد المشكلات غير المعروفة. على سبيل المثال، يستخدم المطورون تتبع التعليمات البرمجية للتحقق من أن طلب الخدمة قد استدعى خطوات للاستعلام عن قاعدة بيانات. إذا فشلت بعض وظائف البرنامج في الرد، فسيقوم نظام التتبع بجمع حالة الخطأ المناسبة ولفت الانتباه إلى وقت الاستجابة. 

تتبع البرامج

تتبع البرامج هو طريقة يمكن للمطورين من خلالها فحص عناوين التعليمات والمتغيرات التي يستدعيها تطبيق نشط. عند تشغيل تطبيق برمجي، فإنه يعالج كل سطر من التعليمات البرمجية الموجودة في مساحة ذاكرة مخصصة محددة. يقوم التطبيق أيضًا بمعالجة المتغيرات المخزنة في ذاكرة الجهاز. يعد فحص التغييرات في ذاكرة البرنامج والبيانات أمرًا صعبًا بدون أداة آلية. من خلال تتبع البرامج، يمكن لفرق البرامج تشخيص مشكلات الأداء المتأصلة مثل تجاوز سعة الذاكرة والاستهلاك المفرط للموارد وحظر العمليات المنطقية. 

التتبع الشامل

من خلال التتبع الشامل، يمكن لفرق تطوير التتبع تتبع تحويل البيانات على طول مسار طلب الخدمة. عندما يبدأ التطبيق طلبًا، فإنه يرسل البيانات إلى مكونات البرامج الأخرى لمزيد من المعالجة. يستخدم المطورون أدوات التتبع لتتبع وتجميع التغييرات التي تمر بها البيانات الهامة من البداية إلى النهاية. إنه يوفر عرضًا يركز على التطبيق للطلبات المتدفقة عبر التطبيق.

كيف يعمل التتبع الموزع من البداية إلى النهاية في بنية الخدمات المصغرة؟

عند استخدام التطبيقات، يقوم المستخدمون ببدء طلبات الخدمة وتقوم مكونات التطبيق المختلفة بمعالجة الطلب. 

فكِّر في مستخدم يقوم بحجز تذكرة في تطبيق حجز الأفلام عبر الإنترنت. يقوم المستخدم بإدخال تفاصيل الاتصال وتفاصيل الفيلم ومعلومات الدفع ويختار الحجز الآن. يتم إنشاء طلب ينتقل إلى:

  • Microservice A التي تتحقق من صحة البيانات التي أدخلها المستخدم.
  • Microservice B التي تأخذ البيانات من A وتقوم بإنشاء سجل في قاعدة بيانات العملاء.
  • Microservice C التي تأخذ البيانات من B وتتحقق من صحة الدفع.
  • Microservice D التي تأخذ البيانات من C وتخصص مقعدًا وتنشئ بيانات تذاكر الأفلام.
  • Microservice E التي تأخذ البيانات من D وتقوم بإنشاء ملف PDF منسق للتذاكر.

يتم بعد ذلك إرجاع الرد الذي يحتوي على ملف PDF الخاص بالتذكرة احتياطيًا إلى سلسلة الخدمات المصغرة من E إلى D إلى C إلى B إلى A، حتى تصل في النهاية إلى المستخدم. المثال المُوضح بالأعلى بسيط - غالبًا ما يمر الطلب عبر عشرات الخدمات المصغرة وحتى سلاسل مكونات برامج الطرف الثالث خارج التطبيق. هذا يجعل العملية معقدة بشكل متزايد.

تقوم أنظمة التتبع الموزعة بتتبع تفاعلات طلبات الخدمة مع الخدمات المصغرة الأخرى ومكونات البرامج في بيئة الحوسبة الموزعة. يمثل التتبع الموزع المخطط الزمني وجميع الإجراءات التي تحدث بين إنشاء الطلب واستلام الاستجابة. تستخدم فرق البرامج التتبع لمتابعة حركة البيانات من خلال العديد من الخدمات المصغرة التي يتفاعل معها الطلب الأولي. 

Span

عند معالجة طلب خدمة، قد يتخذ التطبيق عدة إجراءات. يتم تمثيل هذه الإجراءات كمسافات في التتبع الموزع. على سبيل المثال، قد يكون النطاق عبارة عن استدعاء API أو مصادقة المستخدم أو تمكين الوصول إلى التخزين. إذا أدى طلب واحد إلى العديد من الإجراءات، فقد يتفرع النطاق الأولي (أو الأصلي) إلى عدة نطاقات فرعية. تشكل هذه الطبقات المتداخلة من الامتدادات الأصلية والتابعة تمثيلًا منطقيًا مستمرًا للخطوات المتخذة لإنجاز طلب الخدمة.

معرف التتبع

يقوم نظام التتبع الموزع بتعيين معرف فريد لكل طلب من أجل تعقبه. يرث كل نطاق معرف التتبع نفسه من الطلب الأصلي الذي ينتمي إليه. يتم أيضًا تمييز الامتدادات بمعرف النطاق الفريد الذي يساعد نظام التتبع على دمج البيانات الوصفية والسجلات والمقاييس التي يجمعها. 

مجموعة المقاييس

ومع مرور كل امتداد عبر خدمات مصغرة مختلفة، فإنه يُلحق المقاييس التي توفر للمطورين رؤى عميقة ودقيقة حول سلوك البرنامج. يمكنك جمع معدل الخطأ والطابع الزمني ووقت الاستجابة والبيانات الوصفية الأخرى مع الامتدادات. بعد أن يكمل التتبع دورة كاملة، تقوم أداة التتبع الموزع بدمج جميع البيانات التي تم جمعها. 

على سبيل المثال، يتم تقييم استدعاء API مع وقت الاستجابة وحالة الخطأ وتفصيل الوظائف الثانوية التي تؤديها خدمات متعددة تابعة لجهات خارجية. تقوم أداة التتبع بتحويل البيانات إلى نماذج مرئية، مع تسليط الضوء على المؤشرات الرئيسية وملخصات الأداء. وبهذه الطريقة، يمكن لمهندسي موثوقية الموقع تحديد الأخطاء بسرعة وفحص عناصر البيانات الهامة والتعاون مع فرق التطوير لمعالجة مشكلات الأداء وضمان الامتثال لاتفاقيات مستوى الخدمة (SLAs).

ما هي معايير التتبع الموزعة؟

توفر معايير التتبع الموزعة إطارًا مشتركًا وأدوات برمجية للمطورين. تقوم هذه المعايير بمراقبة طلبات الخدمة وتصورها وتحليلها في بيئات التطبيقات الحديثة. من خلال توحيد سير عمل التتبع الموزع، يمكن لفرق البرامج أداة تتبع الطلبات دون التعرض لحبس البائع. 

تصف الأقسام التالية المعايير المقدمة لتمكين قابلية التشغيل البيني عند إجراء التتبع الموزع.

OpenTracing

OpenTracing هو معيار تتبع موزع مفتوح المصدر تم تطويره بواسطة Cloud Native Computing (CNCF). يركز OpenTracing على تمكين المطورين من إنشاء آثار باستخدام واجهة برمجة تطبيقات الأجهزة. يتيح ذلك للمطورين إنشاء آثار موزعة من أجزاء مختلفة من قاعدة التعليمات البرمجية أو المكتبة أو التبعيات الأخرى.

OpenCensus

يتكون OpenCensus من مكتبات متعددة اللغات قادرة على استخراج مقاييس البرامج وإرسالها إلى أنظمة الواجهة الخلفية للتحليل. يمكن للمطورين استخدام واجهة برمجة التطبيقات المتوفرة لإدارة كيفية إنشاء الآثار وجمعها. على عكس OpenTracing، يعمل المطورون مع OpenCensus من مستودع مشروع واحد بدلاً من قواعد التعليمات البرمجية الفردية والمكتبات. 

OpenTelemetry

OpenTelemetry يوحد OpenTracing وOpenCensus. فهو يجمع بين أفضل ميزات كلا المعيارين لتوفير إطار تتبع موزع شامل. يوفر OpenTelemetry مجموعات تطوير البرامج الشاملة وواجهات برمجة التطبيقات والمكتبات وأدوات الأجهزة الأخرى لتنفيذ التتبع الموزع بسهولة أكبر. 

ما الفرق بين التتبع الموزع والتسجيل؟

التسجيل هو ممارسة لتسجيل أحداث معينة تحدث عند تشغيل التطبيق. تجمع أدوات التسجيل الأحداث ذات الطابع الزمني - مثل أخطاء النظام وتفاعلات المستخدم وحالات الاتصال والمقاييس الأخرى - لمساعدة فرق التطوير على اكتشاف أخطاء النظام. بشكل عام، هناك نوعان من التسجيل: 

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

توفر كلتا طريقتي التسجيل نظرة عامة ثابتة للحوادث التي تعرض للمطورين ما حدث في التطبيق. في المقابل، يوفر التتبع الموزع مسار تدقيق يوضح سبب وقوع الحادث من خلال ربط بيانات القياس عن بُعد المختلفة التي تم جمعها طوال فترة طلب الخدمة. قد يستخدم التتبع الموزع التسجيل وطرق جمع البيانات الأخرى لتتبع طلب خدمة معين. 

ما هي تحديات التتبع الموزع؟

لقد أدى التتبع الموزع إلى تبسيط جهود المطورين في تشخيص مشكلات البرامج وتصحيحها وإصلاحها. على الرغم من ذلك، لا تزال التحديات التالية يجب على فرق البرمجيات مراعاتها عند اختيار أدوات التتبع.

أجهزة القياس اليدوية

تتطلب بعض أدوات التتبع من فرق البرامج استخدام أكوادها يدويًا لإنشاء عمليات التتبع اللازمة. عندما يقوم المطورون بتعديل الأكواد لتتبع الطلبات، فهناك مخاطر أخطاء الترميز التي تؤثر على إصدارات الإنتاج. علاوة على ذلك، يؤدي الافتقار إلى الأتمتة إلى تعقيد عملية التتبع، مما يؤدي إلى تأخيرات وربما جمع بيانات غير دقيقة. 

التغطية المحدودة للواجهة الأمامية

قد لا يتمكن المطورون من الحصول على إشراف كامل على مشكلات الأداء إذا كانت أدوات التتبع الخاصة بهم مقصورة على التحليل الخلفي. في بعض الحالات، يبدأ نظام التتبع الموزع فقط في جمع البيانات عندما تتلقى خدمة الواجهة الخلفية الأولى الطلب. هذا يعني أنه لا يمكن للمطورين اكتشاف وفحص المشكلات الناشئة عن خدمات الواجهة الأمامية أثناء جلسة المستخدم المقابلة.

أخذ عينات عشوائية

لا تسمح بعض الأدوات لفرق البرمجيات بتحديد أولويات التتبع، مما يحد من إمكانية الملاحظة إلى عمليات التتبع التي يتم أخذ عينات منها عشوائيًا. وفي ظل البيانات النموذجية المحدودة، تحتاج المؤسسات إلى أساليب إضافية لاستكشاف الأخطاء وإصلاحها في البرامج لتسجيل المشكلات الرئيسية التي تفلت من أداة التتبع. 

كيف يمكن لـ AWS المساعدة في متطلبات التتبع الموزع الخاصة بك؟

AWS X-Ray عبارة عن منصة تتبع موزعة تساعد مطوري البرامج على تتبع طلبات المستخدمين وتحديد الاختناقات في تطبيقاتهم السحابية. تستخدم المؤسسات X-Ray لتصور مقاييس التطبيق وتحسين توفر عبء العمل. باستخدام AWS X-Ray، يمكنك:

ابدأ بالتتبع الموزع على AWS من خلال إنشاء حساب اليوم.

الخطوات التالية على AWS

تحقق من الموارد الإضافية المتعلقة بالمنتج
تسريع الابتكار مع أكبر مجموعة من خدمات الحاويات 
تسجيل الاشتراك للحصول على حساب مجاني

تمتع بالوصول الفوري إلى الطبقة المجانية من AWS.

تسجيل الاشتراك 
ابدأ في التطوير في وحدة التحكم

بدء الإنشاء في وحدة إدارة تحكم AWS.

تسجيل الدخول