انتقل إلى المحتوى الرئيسي

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

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

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

ما فوائد التتبُّع الموزّع؟

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

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

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

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

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

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

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

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

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

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

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

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

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

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

تتبع البرامج

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

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

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

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

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

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

  • Microservice A التي تتحقق من صحة البيانات التي أدخلها المستخدم.

  • Microservice B التي تأخذ البيانات من A وتنشئ سجلاً في قاعدة بيانات العملاء.

  • Microservice C التي تأخذ البيانات من B وتتحقق من صحة الدفع.

  • Microservice D التي تأخذ البيانات من C وتخصص مقعدًا وتنشئ بيانات تذاكر الأفلام.

  • Microservice E التي تأخذ البيانات من D وتنشئ ملف PDF منسقًا للتذاكر.

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

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

مقطع التتبُّع

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

مُعرّف التتبُّع

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

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

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

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

ما معايير التتبُّع الموزّع؟

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

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

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، يمكنك:

  • التكامل مع كل التطبيقات التي تعمل على Amazon Elastic Compute Cloud‏ (EC2)، وAmazon EC2 Container Service‏ (Amazon ECS)، وAWS Lambda، وAWS Elastic Beanstalk.

  • عيِّن معدل أخذ العينات المناسب لتوفير رؤية شاملة لعمليات التعقُّب.

  • اعرض البيانات المجمّعة مرئيًا باستخدام خريطة الخدمة، مع عرض المقاييس الرئيسة، مثل زمن الوصول ومعدلات الفشل.

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

Browse all cloud computing concepts

Browse all cloud computing concepts content here:

جار التحميل
جار التحميل
جار التحميل
جار التحميل
جار التحميل

Did you find what you were looking for today?

Let us know so we can improve the quality of the content on our pages