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

 

ما هي نماذج البرمجة؟

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

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

 

ما هي الخدمات المصغرة؟

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

 

الميزات الرئيسية للخدمات المصغرة

  • كل وحدة أو خدمة مستقلة وخفيفة الوزن ومقترنة بشكل فضفاض.
  • كل خدمة لها قاعدة التعليمات البرمجية الخاصة بها والتي يتم تطويرها وإدارتها من قبل فريق صغير.
  • يمكن لكل خدمة اختيار مجموعة التكنولوجيا الخاصة بها بناء على بيان المشكلة الذي تحله.
  • الخدمات لديها خطة DevOps الخاصة بها (التطوير والاختبار والإصدار والنشر والتوسع والصيانة بشكل مستقل)
  • تتواصل الخدمات مع بعضها البعض باستخدام واجهات برمجة التطبيقات وبروتوكولات REST عبر الإنترنت.
  • كل خدمة لها آليتها الخاصة لاستمرار بياناتها ، بالطريقة التي تعمل بها بشكل أفضل.

 

فوائد الخدمات المصغرة

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

 

عيوب الخدمات المصغرة

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

 

اختبار أداء الخدمات المصغرة

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

 

الخدمات المصغرة لاختبار الأحمال باستخدام LoadView

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

  1. افتح صفحة اختبار LoadView. سنختار إنشاء اختبار تحميل جديد.
  2. من هذه النافذة ، سترى أنواعا متعددة من الاختبارات المتاحة عبر LoadView ، مثل تطبيقات الويب ومواقع الويب وواجهات برمجة التطبيقات ، إلخ. على سبيل المثال هنا، سنختار خيار واجهة برمجة تطبيقات الويب REST لتشغيل اختبارات التحميل لنقاط نهاية واجهة برمجة تطبيقات REST .

 

تنشئ الخدمات المصغرة اختبار تحميل جديد

 

 

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

 

مهمة تكوين الخدمات المصغرة

 

إعدادات اختبار تحميل الخدمات المصغرة

 

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

 

سيناريو اختبار تحميل الخدمات المصغرة

 

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

 

متوسط وقت استجابة اختبار تحميل الخدمات المصغرة

 

الرسم البياني لمتوسط وقت استجابة الخدمات المصغرة

 

عدد مستخدمي الخدمات المصغرة الظاهريين

 

اختبار حمل تطبيق الخدمات المصغرة: الخاتمة

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

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