أنماط تصميم السحابة التي تدعم كفاءة الأداء

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

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

تصميم أنماط من أجل كفاءة الأداء

يلخص الجدول التالي أنماط تصميم السحابة التي تدعم أهداف كفاءة الأداء.

النمط الملخص
الطلب-الرد غير المتزامن يحسن الاستجابة وقابلية التوسع للأنظمة من خلال فصل مراحل الطلب والرد على التفاعلات للعمليات التي لا تحتاج إلى إجابات فورية. باستخدام نمط غير متزامن، يمكنك زيادة التزامن إلى أقصى حد على جانب الخادم. يمكنك استخدام هذا النمط لجدولة العمل المطلوب إكماله كما تسمح السعة.
الخدمات الخلفية للخدمات الأمامية تفرد طبقة الخدمة لحمل العمل عن طريق إنشاء خدمات منفصلة حصرية لواجهة أمامية معينة. يمكنك هذا الفصل من التحسين بطرق قد لا تكون ممكنة باستخدام طبقة خدمة مشتركة. عند التعامل مع العملاء الفرديين بشكل مختلف، يمكنك تحسين الأداء لقيود ووظائف عميل معين.
الفواصل يقدم التجزئة بين المكونات لعزل نصف قطر الانفجار من الأعطال. يتيح هذا التصميم لكل رأس مجمع أن يكون قابلا للتطوير بشكل فردي لتلبية احتياجات المهمة المغلفة في الرأس المجمع.
ذاكرة التخزين المؤقت الجانبية تحسين الوصول إلى البيانات المقروءة بشكل متكرر عن طريق إدخال ذاكرة تخزين مؤقت يتم ملؤها عند الطلب. ثم يتم استخدام ذاكرة التخزين المؤقت على الطلبات اللاحقة لنفس البيانات. هذا النمط مفيد بشكل خاص مع البيانات الثقيلة للقراءة التي لا تتغير في كثير من الأحيان ويمكن أن تتسامح مع قدر معين من الثبات. الهدف من هذا التنفيذ هو توفير أداء أفضل في النظام بشكل عام عن طريق إلغاء تحميل هذا النوع من البيانات إلى ذاكرة التخزين المؤقت بدلا من مصادرها من مخزن البيانات الخاص به.
الكوريغرافيا ينسق سلوك المكونات الموزعة المستقلة في حمل العمل باستخدام الاتصال اللامركزي المستند إلى الحدث. يمكن أن يوفر هذا النمط بديلا عند حدوث اختناقات في الأداء في مخطط تنسيق مركزي.
قاطع الدائرة يمنع الطلبات المستمرة إلى تبعية معطلة أو غير متوفرة. يمكن أن يؤدي نهج إعادة المحاولة عند الخطأ إلى الاستخدام المفرط للموارد أثناء استرداد التبعية ويمكنه أيضا التحميل الزائد للأداء على تبعية تحاول الاسترداد.
فحص المطالبة يفصل البيانات عن تدفق المراسلة، ما يوفر طريقة لاسترداد البيانات المتعلقة برسالة بشكل منفصل. يحسن هذا النمط كفاءة وأداء ناشري الرسائل والمشتركين وناقل الرسائل نفسه عندما يتعامل النظام مع حمولات البيانات الكبيرة. يعمل عن طريق تقليل حجم الرسائل والتأكد من أن المستهلكين يستردون بيانات الحمولة فقط إذا لزم الأمر وفي الوقت المناسب.
عملاء الحوسبة تطبيق المعالجة الموزعة والمتزامنة للتعامل مع العناصر في قائمة انتظار بكفاءة. يدعم هذا النموذج توزيع الحمل عبر جميع عقد المستهلك والتحجيم الديناميكي الذي يستند إلى عمق قائمة الانتظار.
حساب دمج المورد تحسين موارد الحوسبة ودمجها عن طريق زيادة الكثافة. يجمع هذا النمط بين تطبيقات أو مكونات متعددة لحمل العمل على بنية أساسية مشتركة. يزيد هذا الدمج من استخدام موارد الحوسبة باستخدام سعة العقد الاحتياطية لتقليل التوفير الزائد. منسقو الحاوية مثال شائع. غالبا ما تستخدم مثيلات الحوسبة الكبيرة (المتدرجة عموديا) في تجمع الموارد لهذه البنى الأساسية.
الفصل بين الأوامر والاستعلامات (CQRS) يفصل عمليات القراءة والكتابة لنموذج بيانات التطبيق. يتيح هذا الفصل تحسينات الأداء والتحجيم المستهدفة للغرض المحدد لكل عملية. هذا التصميم مفيد للغاية في التطبيقات التي تحتوي على نسبة قراءة إلى كتابة عالية.
طوابع النشر يوفر نهجا لإصدار إصدار معين من التطبيق والبنية الأساسية الخاصة به كوحدة توزيع خاضعة للرقابة، استنادا إلى افتراض أنه سيتم نشر الإصدارات نفسها أو الإصدارات المختلفة بشكل متزامن. غالبا ما يتوافق هذا النمط مع وحدات المقياس المحددة في حمل العمل الخاص بك: نظرا لأن هناك حاجة إلى سعة إضافية تتجاوز ما توفره وحدة مقياس واحدة، يتم نشر طابع نشر إضافي لتوسيع النطاق.
مصادر الأحداث يعامل تغيير الحالة كسلسلة من الأحداث، ويلتقطها في سجل إلحاقي غير قابل للتغيير فقط. اعتمادا على حمل العمل الخاص بك، يمكن لهذا النمط، عادة جنبا إلى جنب مع CQRS، وتصميم المجال المناسب، والتقاط اللقطات الاستراتيجية، تحسين الأداء. ترجع تحسينات الأداء إلى عمليات الإلحاق الذرية فقط وتجنب تأمين قاعدة البيانات للكتابات والقراءات.
الهوية الموحدة تفويض الثقة إلى موفر هوية خارجي لحمل العمل لإدارة المستخدمين وتوفير المصادقة لتطبيقك. عند إلغاء تحميل إدارة المستخدم والمصادقة، يمكنك تخصيص موارد التطبيق لأولويات أخرى.
Gatekeeper إلغاء تحميل معالجة الطلب التي مخصصة لفرض الأمان والتحكم في الوصول قبل وبعد إعادة توجيه الطلب إلى عقدة خلفية. غالبا ما يستخدم هذا النمط لتنفيذ التقييد على مستوى البوابة بدلا من تنفيذ فحوصات المعدل على مستوى العقدة. تنسيق حالة المعدل بين جميع العقد ليس أداء بطبيعته.
تجميع البوابة يبسط تفاعلات العميل مع حمل العمل الخاص بك عن طريق تجميع المكالمات إلى خدمات خلفية متعددة في طلب واحد. يمكن أن يتحمل هذا التصميم زمن انتقال أقل من التصميم الذي ينشئ فيه العميل اتصالات متعددة. التخزين المؤقت شائع أيضا في تطبيقات التجميع لأنه يقلل من الاستدعاءات إلى أنظمة الواجهة الخلفية.
تفريغ البوابة إلغاء تحميل معالجة الطلب إلى جهاز بوابة قبل وبعد إعادة توجيه الطلب إلى عقدة خلفية. تمكنك إضافة بوابة إلغاء تحميل إلى عملية الطلب من استخدام موارد أقل لكل عقدة لأن الوظيفة مركزية في البوابة. يمكنك تحسين تنفيذ الوظيفة التي تم تفريغها بشكل مستقل عن التعليمات البرمجية للتطبيق. من المحتمل أن تكون الوظائف التي يوفرها النظام الأساسي غير المحملة عالية الأداء بالفعل.
توجيه البوابة توجيه طلبات الشبكة الواردة إلى أنظمة خلفية مختلفة استنادا إلى أهداف الطلب ومنطق العمل وتوافر الواجهة الخلفية. يمكنك توجيه البوابة من توزيع نسبة استخدام الشبكة عبر العقد في النظام الخاص بك لموازنة التحميل.
جيود نشر الأنظمة التي تعمل في أوضاع التوفر النشطة-النشطة عبر مناطق جغرافية متعددة. يستخدم هذا النمط النسخ المتماثل للبيانات لدعم المثالي الذي يمكن لأي عميل الاتصال بأي مثيل جغرافي. يمكنك استخدامه لخدمة التطبيق الخاص بك من منطقة الأقرب إلى قاعدة المستخدمين الموزعة. يؤدي القيام بذلك إلى تقليل زمن الانتقال عن طريق القضاء على نسبة استخدام الشبكة لمسافات طويلة ولأنك تشارك البنية الأساسية فقط بين المستخدمين الذين يستخدمون حاليا نفس geode.
مراقبة نقطة النهاية الصحيحة يوفر طريقة لمراقبة صحة النظام أو حالته عن طريق الكشف عن نقطة نهاية مصممة خصيصا لهذا الغرض. يمكنك استخدام نقاط النهاية هذه لتحسين موازنة التحميل عن طريق توجيه نسبة استخدام الشبكة إلى العقد التي تم التحقق منها على أنها سليمة فقط. مع تكوين إضافي، يمكنك أيضا الحصول على مقاييس حول سعة العقدة المتوفرة.
جدول الفهرس يحسن استرداد البيانات في مخازن البيانات الموزعة عن طريق تمكين العملاء من البحث عن بيانات التعريف بحيث يمكن استرداد البيانات مباشرة، وتجنب الحاجة إلى إجراء عمليات فحص كاملة لمخزن البيانات. يشار إلى العملاء إلى الجزء أو القسم أو نقطة النهاية الخاصة بهم، والتي يمكن أن تمكن تقسيم البيانات الديناميكية لتحسين الأداء.
العرض الفعلي يستخدم طرق العرض المحسوبة مسبقا للبيانات لتحسين استرداد البيانات. تخزن طرق العرض المجسدة نتائج الحسابات أو الاستعلامات المعقدة دون مطالبة محرك قاعدة البيانات أو العميل بإعادة الحساب لكل طلب. يقلل هذا التصميم من الاستهلاك الإجمالي للموارد.
قائمة انتظار الأولوية يضمن معالجة العناصر ذات الأولوية الأعلى وإكمالها قبل العناصر ذات الأولوية الأقل. يمكنك فصل العناصر استنادا إلى أولوية العمل من تركيز جهود الأداء على العمل الأكثر حساسية للوقت.
الناشر/المشترك فصل مكونات البنية عن طريق استبدال الاتصال المباشر من عميل إلى خدمة أو اتصال من عميل إلى خدمات بالاتصال عبر وسيط رسائل وسيط أو ناقل حدث. يمكنك فصل الناشرين عن المستهلكين من تحسين الحوسبة والرمز خصيصا للمهمة التي يحتاج المستهلك إلى تنفيذها للرسالة المحددة.
تسوية التحميل المستند إلى قائمة الانتظار يتحكم في مستوى الطلبات أو المهام الواردة عن طريق تخزينها مؤقتا في قائمة انتظار والسماح لمعالج قائمة الانتظار بمعالجتها بوتيرة خاضعة للرقابة. يتيح هذا الأسلوب التصميم المتعمد على أداء معدل النقل لأن كمية الطلبات لا تحتاج إلى الارتباط بمعدل معالجتها.
مشرف وكيل أداة الجدولة توزيع المهام وإعادة توزيعها بكفاءة عبر النظام استنادا إلى العوامل التي يمكن ملاحظتها في النظام. يستخدم هذا النمط مقاييس الأداء والسعة للكشف عن الاستخدام الحالي وتوجيه المهام إلى عامل لديه سعة. يمكنك أيضا استخدامه لتحديد أولويات تنفيذ العمل ذي الأولوية الأعلى على العمل ذي الأولوية الأقل.
التقسيم يوجه التحميل إلى وجهة منطقية معينة للتعامل مع طلب معين، ما يتيح الموقع المشترك للتحسين. عند استخدام التقسيم في استراتيجية التحجيم الخاصة بك، يتم عزل البيانات أو المعالجة إلى جزء، لذلك تتنافس على الموارد فقط مع الطلبات الأخرى التي يتم توجيهها إلى هذا الجزء. يمكنك أيضا استخدام التقسيم لتحسينه استنادا إلى الجغرافيا.
التوزيع الجانبي توسيع وظائف التطبيق عن طريق تغليف المهام غير الأساسية أو الشاملة في عملية مصاحبة موجودة جنبا إلى جنب مع التطبيق الرئيسي. يمكنك نقل المهام الشاملة إلى عملية واحدة يمكن توسيع نطاقها عبر مثيلات متعددة من العملية الرئيسية، ما يقلل من الحاجة إلى نشر وظائف مكررة لكل مثيل من التطبيق.
استضافة المحتوى الثابت تحسين تسليم المحتوى الثابت لعملاء حمل العمل باستخدام نظام أساسي للاستضافة مصمم لهذا الغرض. يساعد إلغاء تحميل المسؤولية إلى مضيف خارجي على التخفيف من الازدحام ويتيح لك استخدام النظام الأساسي للتطبيق الخاص بك فقط لتقديم منطق العمل.
التحكم بالنطاق الترددي* يفرض حدودا على معدل أو معدل نقل الطلبات الواردة إلى مورد أو مكون. عندما يكون النظام تحت الطلب العالي، يساعد هذا النمط على التخفيف من الازدحام الذي يمكن أن يؤدي إلى ازدحام الأداء. يمكنك أيضا استخدامه لتجنب سيناريوهات الجوار المزعجة بشكل استباقي.
مفتاح الخادم يمنح الوصول المقيد أمنيا إلى مورد دون استخدام مورد وسيط لوكيل الوصول. يؤدي القيام بذلك إلى إلغاء تحميل المعالجة كعلاقة حصرية بين العميل والمورد دون الحاجة إلى مكون السفير الذي يحتاج إلى التعامل مع جميع طلبات العميل بطريقة أداء. تكون فائدة استخدام هذا النمط أكثر أهمية عندما لا يضيف الوكيل قيمة إلى المعاملة.

الخطوات التالية

راجع أنماط تصميم السحابة التي تدعم ركائز Azure Well-Architected Framework الأخرى: