منذ فترة طويلة ، تقوم المؤسسات بتصميم وتطوير أنظمة البرمجيات وتحسينها عاما بعد عام. تطورت العديد من البنى والتقنيات وأنماط التصميم خلال نفس الوقت لمواكبة التغييرات المستمرة. الخدمات المصغرة ، أو المعروفة أكثر باسم بنية الخدمات المصغرة ، هي واحدة من المنصات المعمارية التي ظهرت من عالم الأنظمة القابلة للتطوير ، والتطوير المستمر ، والبرمجة متعددة اللغات ، والتطبيقات المنفصلة. تقوم الخدمات المصغرة بفصل النظام الأساسي بمساعدة حدود الخدمة ، مما يسهل نشر كل خدمة وصيانتها على حدة. نظرا لأن كل وحدة مستقلة عن بعضها البعض ، فإن إضافة ميزات جديدة أو خدمة توسيع النطاق تصبح أسهل بكثير وفعالة.
ما هي نماذج البرمجة؟
مع نمو بنية الخدمات المصغرة مع الأعمال التجارية ، يمكن أن تجعل النظام أكثر تعقيدا ، خاصة إذا لم يتم صيانته وتوسيع نطاقه ، وتجاهل أي من نماذج البرمجة. النماذج ليست لغات ، بل هي أسلوب برمجة. وكما تعلمون على الأرجح ، هناك مجموعة متنوعة من لغات البرمجة ، ولكن جميعها تحتاج إلى اتباع نهج محدد ، والذي يشار إليه باسم النماذج.
في حين أن تجاهل نماذج البرمجة يفسح المجال أحيانا لابتكار طرق وأساليب جديدة للبرمجة ، إلا أنه من الأفضل في بعض الأحيان اتباع القواعد وتجنب أي مشكلات محتملة. بعض الأنواع الأكثر شيوعا من نماذج البرمجة تشمل البرمجة الحتمية ، والبرمجة المنظمة ، والبرمجة الموجهة للكائنات ، والبرمجة التقريرية. أيضا ، يعد اختبار الوظائف العامة للخدمات المتعددة أكثر صعوبة بسبب الطبيعة الموزعة للتطبيق ، والتي تتطلب استراتيجية لاختبار الحمل والخدمات المصغرة وإيجاد الثغرات والاختناقات بين الأنظمة.
ما هي الخدمات المصغرة؟
قبل أن نبدأ في مناقشة الخدمات المصغرة والاعتبارات عند اختبار الحمل ، دعونا نفهم بإيجاز عن الخدمات المصغرة وميزاتها والفوائد التي تمتلكها. وتستند الخدمات المصغرة إلى مبدأ بسيط جدا، وهو مبدأ المسؤولية الواحدة. مع المضي قدما في هذا المصطلح ، تقوم الخدمات المصغرة بتوسيعه ليشمل الخدمات الزوجية بشكل فضفاض والتي يمكن تطويرها ونشرها وصيانتها بشكل مستقل. يتعلق الأمر بتحليل أنظمة تطوير البرمجيات إلى وحدات مستقلة يتم نشرها بشكل مستقل ، وتتواصل مع بعضها البعض عبر واجهة لا أدرية لغوية ومجتمعة تحل بيان مشكلة العمل.
الميزات الرئيسية للخدمات المصغرة
- كل وحدة أو خدمة واحدة هي مستقلة وخفيفة الوزن ومقترنة بشكل فضفاض.
- كل خدمة لديها قاعدة التعليمات البرمجية الخاصة بها والتي يتم تطويرها وإدارتها من قبل فريق صغير.
- يمكن لكل خدمة اختيار مكدس التكنولوجيا الخاص بها بناء على بيان المشكلة الذي تقوم بحله.
- الخدمات لديها خطة DevOps الخاصة بها (تطوير واختبار وإصدار ونشر وتوسيع وصيانة بشكل مستقل)
- تتواصل الخدمات مع بعضها البعض باستخدام واجهات برمجة التطبيقات وبروتوكولات REST عبر الإنترنت.
- كل خدمة لديها آلية خاصة بها لاستمرار بياناتها ، بالطريقة التي تعمل بها بشكل أفضل بالنسبة لها.
فوائد الخدمات المصغرة
- التنمية المستقلة. المطورين أحرار في اختيار مكدسات التكنولوجيا. نظرا لأن الخدمات المصغرة هي وحدات تخدم هدفا واحدا ، فإن كل خدمة لها قاعدة التعليمات البرمجية الخاصة بها والتي يتم تطويرها واختبارها من قبل فريق صغير يركز مما يؤدي إلى تعزيز الإنتاجية والابتكار والجودة.
- الإصدارات المستقلة. أي إصلاحات للأخطاء أو تغيير سهل وأقل خطورة. يمكن اختبار الخدمة بشكل فردي.
- عمليات النشر المستقلة. يمكننا تحديث خدمة مصغرة دون التأثير على التطبيق العام.
- توسيع نطاق التنمية. يمكننا توسيع نطاق النظام أفقيا ، مما يعني إضافة مثيلات متعددة من نفس الخدمة المصغرة حسب الرغبة واستنادا إلى حركة المرور.
- تدهور رشيق. إذا تعطلت إحدى الخدمات ، فإن microservice تساعد على عدم نشرها لجعل التطبيق بأكمله معطلا. يساعد في إزالة الإخفاقات الكارثية في النظام.
عيوب الخدمات المصغرة
- نظرا لأن كل خدمة يتم استضافتها بشكل مستقل ، فإن أدوات المراقبة والصيانة لكل خدمة مطلوبة.
- يمكن أن يؤثر التصميم العام للتطبيقات على الأداء حيث تلعب النفقات العامة للشبكة دورا. تتواصل كل خدمة عبر مكالمات API ، والتي تتطلب التخزين المؤقت والتزامن.
- يلزم إجراء اختبارات على مستوى التطبيق لضمان عدم تأثير التغييرات الجديدة على الوظائف السابقة.
- تحتوي كل خدمة على سير عمل الإصدار الخاص بها وخطة الإصدار ودورات الإصدار. لذلك ، فإنها تتطلب أتمتة سير عمل عالية الصيانة والنشر.
اختبار أداء الخدمات المصغرة
وكما رأينا بإيجاز مع مزايا الخدمات المصغرة، فإنه ينطوي أيضا على تحديات معقدة لتلبية الاحتياجات. نظرا لأن العديد من الخدمات تتفاعل مع بعضها البعض مع نقاط النهاية المستندة إلى REST ، يمكن أن يؤثر تدهور الأداء على الأعمال التجارية لتغرق. على سبيل المثال ، يمكن أن يؤثر تطبيق التجارة الإلكترونية الذي تم حلق 100 مللي ثانية على قوائم منتجاته أو عربة التسوق الخاصة به بشكل مباشر على النتيجة النهائية لوضع الطلب. أو بالنسبة لمنتج مدفوع بالأحداث مع تفاعل منتظم بين العملاء ، حتى التأخير لبضع ميلي ثانية يمكن أن يزعج العميل ويمكن أن يتسبب في ذهابهم إلى مكان آخر. مهما كانت الحالة، فإن الأداء والموثوقية هما الجزء المهم من تطوير البرمجيات، لذلك من الأهمية بمكان أن تستثمر الشركات في اختبار الأداء وأن تنفق الوقت والجهد اللازمين فيه.
الخدمات المصغرة لاختبار الحمل مع LoadView
يمكن أن يساعدك تحديد أداة اختبار تحميل الخدمة المصغرة المناسبة على ضمان أفضل جودة للبرامج وتقديم منتج يفوز بالسوق. لقد حقق المتبنون الأوائل لبنية الخدمات المصغرة الذين قاموا بالتوسع بالفعل الميزة التنافسية. LoadView هي واحدة من أدوات اختبار التحميل الحقيقية الوحيدة المستندة إلى المتصفح لمواقع الويب وتطبيقات الويب وواجهات برمجة التطبيقات. فهو يولد حركة مرور المستخدمين من جميع أنحاء العالم للحصول على نظرة ثاقبة على أداء أنظمتك تحت الحمل. دعونا نتطلع إلى خطوات تشغيل اختبار التحميل لنقاط نهاية واجهة برمجة تطبيقات Rest للخدمة المصغرة باستخدام LoadView:
- افتح صفحة اختبار LoadView. سنختار إنشاء اختبار تحميل جديد.
- من هذه النافذة ، سترى أنواعا متعددة من الاختبارات المتاحة عبر LoadView ، مثل تطبيقات الويب ومواقع الويب وواجهات برمجة التطبيقات ، إلخ. على سبيل المثال هنا ، سنحدد خيار REST Web API لتشغيل اختبارات التحميل لنقاط نهاية واجهة برمجة تطبيقات REST.
3. ستظهر نافذة جديدة حيث نحتاج إلى إضافة جميع نقاط نهاية واجهة برمجة تطبيقات REST مع اسم المضيف ورؤوس الطلبات ونوع الطلب ورموز المصادقة وحمولة الطلب. يمكننا إضافة واجهات برمجة تطبيقات متعددة هنا أيضا. بمجرد الانتهاء من ذلك ، نحتاج إلى تحديد الزر “إنشاء جهاز “.
- بمجرد إنشاء جهاز بنجاح ، سنرى شاشة سيناريو الاختبار ، حيث يمكننا تعيين نوع التحميل ، والذي سيختلف بناء على أهداف اختبارنا.
-
- منحنى خطوة التحميل. هذا هو تنفيذ اختبارات التحميل مع عدد معروف من المستخدمين وزيادة حركة المرور بعد وقت الإحماء المحدد مسبقا.
- منحنى قائم على الهدف. يتم استخدام إعداد الاختبار هذا عندما نبحث عن المعاملات المطلوبة في الثانية لواجهة برمجة التطبيقات المحددة الخاصة بنا ونريد التوسع إلى المعدل المطلوب ببطء.
- منحنى ديناميكي قائم على التعديل. توفر لك هذه المجموعة اختيار القيم الديناميكية في عدد المستخدمين والحد الأقصى للمستخدمين ومدة الاختبار.
- بناء على نوع إعداد اختبار الحمل المطلوب ، يمكننا تحديد متابعة ، والتي ستبدأ في تنفيذ الاختبار مع عدد المستخدمين المذكورين ومدة الاختبار.
- بعد الانتهاء بنجاح من تشغيل اختبار الحمل ، يمكننا أن نرى رؤى حول كيفية تصرف النظام قيد الاختبار. يمكن عرض وتحليل مقاييس مثل الرسم البياني لوقت الاستجابة وعدد الرسوم البيانية للمستخدمين المتزامنين وجلسات عدد الأخطاء.
اختبار تحميل تطبيق الخدمات المصغرة: الاستنتاج
ويجري على نحو متزايد استخدام المشاريع التي تستخدم بنية الخدمات المصغرة على نحو أكثر تواترا. بالنسبة لفرق DevOps ، هذا يعني تغييرا آخر في عملية الاختبار العادية. يعد التأكد من اختبار خدماتك المصغرة مبكرا وغالبا ما يكون أمرا أساسيا لضمان أن تطبيقاتك ستصمد أمام سيناريوهات العالم الحقيقي وتمنحك أنت وفرقك نظرة ثاقبة على أي خدمات تحتاج إلى ضبط دقيق قبل وضعها في الإنتاج وفي أيدي المستخدمين الحقيقيين. تأكد من أن تطبيقات الخدمات المصغرة يمكنها الاستجابة لمتطلبات المستخدمين.
يرجى زيارة موقع LoadView لمعرفة المزيد حول فوائد وميزات اختبار الحمل والاشتراك في الإصدار التجريبي المجاني. ستحصل على 20 دولارا في أرصدة اختبار الحمل للبدء. أو إذا كنت ترغب في الاطلاع على المنتج مع أحد مهندسي الأداء لدينا ، فقم بالتسجيل للحصول على عرض توضيحي يتناسب مع جدولك الزمني. سيكون فريقنا سعيدا بالتحدث عن النظام الأساسي وعرض جميع الميزات التي يقدمها ، مثل استخدام المتصفحات الحقيقية ، والوصول إلى أكثر من 20 خادم حاقن تحميل موجود في جميع أنحاء العالم ، وأكثر من ذلك بكثير!