أنماط تصميم السحابة
تعد هذه الأنماط للتصميم مفيدة لإنشاء تطبيقات موثوقة وقابلة للتطوير وآمنة في السحابة.
يصف كل نمط المشكلة التي يعالجها النمط، واعتبارات لتطبيق النمط، ومثال يستند إلى Microsoft Azure. تتضمن معظم الأنماط نماذج التعليمات البرمجية أو القصاصات البرمجية التي توضح كيفية تنفيذ النمط على Azure. ومع ذلك، فإن معظم الأنماط ذات صلة بأي نظام موزع، سواء كان مستضافا على Azure أو الأنظمة الأساسية السحابية الأخرى.
أحمال العمل السحابية عرضة لمغالطات الحوسبة الموزعة. بعض الأمثلة على مغالطات تصميم السحابة هي:
- الشبكة موثوق بها
- زمن الانتقال هو صفر
- النطاق الترددي لا نهائي
- الشبكة آمنة
- المخطط لا يتغير
- هناك مسؤول واحد
- تعيين إصدار المكون بسيط
- يمكن تأخير تنفيذ إمكانية المراقبة
لا تقضي أنماط التصميم على مفاهيم مثل هذه ولكن يمكن أن تساعد في زيادة الوعي والتعويضات والتخفيف منها. لكل نمط سحابي مفاضلات خاصة به. تحتاج إلى الانتباه أكثر إلى سبب اختيار نمط معين بدلا من كيفية تنفيذه.
التحديات في تطوير السحابة
إدارة البياناتإدارة البيانات هي العنصر الرئيسي للتطبيقات السحابية، وتؤثر على معظم سمات الجودة. عادة ما تتم استضافة البيانات في مواقع مختلفة وعبر خوادم متعددة للأداء أو قابلية التوسع أو التوفر. وهذا يمكن أن يمثل تحديات مختلفة. على سبيل المثال، يجب الحفاظ على تناسق البيانات، وستحتاج البيانات عادةً إلى المزامنة عبر مواقع مختلفة. |
|
التصميم والتنفيذيشمل التصميم الجيد الاتساق والاتساق في تصميم المكونات ونشرها، وإمكانية الصيانة لتبسيط الإدارة والتطوير، وإعادة الاستخدام للسماح باستخدام المكونات والأنظمة الفرعية في التطبيقات والسيناريوهات الأخرى. تؤثر القرارات التي تم اتخاذها أثناء مرحلة التصميم والتنفيذ بشكل كبير على الجودة والتكلفة الإجمالية لملكية التطبيقات والخدمات المستضافة على السحابة. |
|
المراسلةتتطلب الطبيعة الموزعة للتطبيقات السحابية بنية أساسية للمراسلة تربط المكونات والخدمات، بشكل مثالي مقرون بشكل فضفاض لزيادة قابلية التوسع إلى أقصى حد. يتم استخدام المراسلة غير المتزامنة على نطاق واسع وتوفر العديد من الفوائد، ولكنها تجلب أيضا تحديات مثل طلب الرسائل، وإدارة الرسائل غير المتزامنة، والتكدس، والمزيد. |
كتالوج الأنماط
النمط | الملخص | الفئة |
---|---|---|
السفير | قم بإنشاء خدمات المساعدة التي ترسل طلبات الشبكة نيابة عن خدمة أو تطبيق للمستهلكين. | التصميم والتنفيذ، التميز التشغيلي |
طبقة مكافحة الفساد | قم بتنفيذ طبقة واجهة أو محول بين تطبيق حديث ونظام قديم. | التصميم والتنفيذ، التميز التشغيلي |
الطلب-الرد غير المتزامن | افصل معالجة الواجهة الخلفية عن مضيف الواجهة الأمامية، حيث يجب أن تكون معالجة الواجهة الخلفية غير متزامنة، لكن الواجهة الأمامية لا تزال بحاجة إلى استجابة واضحة. | المراسلة |
الخدمات الخلفية للخدمات الأمامية | إنشاء خدمات خلفية منفصلة مطلوب استهلاكها بواسطة تطبيقات الواجهة الأمامية المحددة أو الواجهات. | التصميم والتنفيذ |
الفواصل | افصل عناصر التطبيق في تجمعات بحيث إذا تعطل أحدها، تستمر العناصر الأخرى في العمل. | الموثوقيه |
ذاكرة التخزين المؤقت الجانبية | تحميل البيانات عند الطلب في ذاكرة التخزين المؤقت من مخزن البيانات | إدارة البيانات، كفاءة الأداء |
الكوريغرافيا | دع كل خدمة تقرر متى وكيف تتم معالجة عملية تجارية، بدلاً من الاعتماد على منسق مركزي. | المراسلة، كفاءة الأداء |
قاطع الدائرة | عالج الأخطاء التي قد تستغرق مدة متغيرة لإصلاحها عند الاتصال بخدمة أو مورد عن بُعد. | الموثوقيه |
فحص المطالبة | قسّم رسالة كبيرة إلى فحص مطالبة وحمولة لتجنب إرهاق ناقل الرسائل. | المراسلة |
عمليات تعويضية | تراجع عن المهام المُنفَذة عن طريق سلسلة من الخطوات، تُحدِّد معاً عملية متناسقة نهائية. | الموثوقيه |
عملاء الحوسبة | تمكين العديد من المستهلكين المتزامنين من معالجة الرسائل المستلمة على نفس قناة المراسلة. | المراسلة |
حساب دمج المورد | دمج المهام أو العمليات المتعددة في وحدة حسابية واحدة | التصميم والتنفيذ |
CQRS | افصل العمليات التي تقرأ البيانات من العمليات التي تقوم بتحديث البيانات باستخدام واجهات منفصلة. | إدارة البيانات، التصميم والتنفيذ، كفاءة الأداء |
طوابع النشر | انشر عدة نسخ مستقلة من مكونات التطبيق من ضمنها مخازن البيانات. | الموثوقية، كفاءة الأداء |
تكوين حمل عمل Edge | يمكن للتنوع الكبير للأنظمة والأجهزة الموجودة في أرضية المتجر أن يجعل تكوين حمل العمل مشكلةً صعبةً. | التصميم والتنفيذ |
مصادر الأحداث | استخدم متجراً ملحقاً فقط لتسجيل سلسلة الأحداث الكاملة التي تصف الإجراءات المتخذة على البيانات في مجال. | إدارة البيانات، كفاءة الأداء |
متجر التكوين الخارجي | انقل معلومات التكوين خارج حزمة توزيع التطبيق إلى موقع مركزي. | التصميم والتنفيذ، التميز التشغيلي |
الهوية الموحدة | تفويض المصادقة إلى موفّر هوية خارجي. | الأمان |
Gatekeeper | حماية التطبيقات والخدمات باستخدام مثيل مضيف مخصص يعمل كوسيط بين العملاء والتطبيق أو الخدمة، ويتحقق من صحة الطلبات ويصححها ويمرر الطلبات والبيانات فيما بينها. | الأمان |
تجميع البوابة | استخدم بوابة لتجميع طلبات فردية متعددة في طلب واحد. | التصميم والتنفيذ، التميز التشغيلي |
تفريغ البوابة | إلغاء تحميل وظائف الخدمة المشتركة أو المتخصصة إلى وكيل البوابة. | التصميم والتنفيذ، التميز التشغيلي |
توجيه البوابة | توجيه مسار الطلبات إلى خدمات متعددة باستخدام نقطة نهاية واحدة. | التصميم والتنفيذ، التميز التشغيلي |
الموقع الجغرافي | انشر خدمات الواجهة الخلفية في مجموعة من العقد الجغرافية، التي يمكِن لكل منها أن تساعد العميل من أي منطقة في تنفيذ طلبه. | الموثوقية، التميز التشغيلي |
مراقبة نقطة النهاية الصحيحة | أجرِ عمليات تحقق من وظيفة تطبيق ما يمكن أن تصل إليه الأدوات الخارجية من خلال نقاط النهاية المعروضة على فترات منتظمة. | الموثوقية، التميز التشغيلي |
جدول الفهرس | قم بإنشاء فهارس فوق الحقول في مخازن البيانات التي يتم الرجوع إليها بشكل متكرر بواسطة الاستعلامات. | إدارة البيانات، كفاءة الأداء |
اختيار المسؤول الرئيسي | نسِّق الإجراءات المُنفَذة من خلال مجموعة من مثيلات المهام المتعاونة في تطبيق موزع عن طريق اختيار مثيل واحد كمسؤول رئيسي عن إدارة المثيلات الأخرى. | التصميم والتنفيذ، الموثوقيه |
العرض الفعلي | قم بإنشاء طرق عرض معبأة مسبقاً للبيانات في واحد أو أكثر من مخازن البيانات عندما لا يتم تنسيق البيانات بشكل مثالي لعمليات الاستعلام المطلوبة. | إدارة البيانات، التميز التشغيلي، كفاءة الأداء |
الخطوط وعوامل التصفية | قسّم المهمة التي تقوم بمعالجة معقدة إلى سلسلة من العناصر المنفصلة التي يمكن إعادة استخدامها. | التصميم والتنفيذ، المراسلة |
قائمة انتظار الأولوية | حدد أولويات الطلبات المرسلة إلى الخدمات بحيث يتم تلقي الطلبات ذات الأولوية الأعلى ومعالجتها بسرعة أكبر من الطلبات ذات الأولوية الأقل. | المراسلة، كفاءة الأداء |
الناشر/المشترك | تمكين تطبيق ما للإعلان عن الأحداث للعديد من المستهلكين المهتمين بشكل غير متزامن، دون إقران المرسلين بالمستقبلين. | المراسلة |
تسوية التحميل المستند إلى قائمة الانتظار | استخدم قائمة انتظار تعمل كمخزن مؤقت بين مهمة وخدمة تستدعيه لتسهيل الأحمال الثقيلة المتقطعة. | الموثوقية، المراسلة، المرونة، كفاءة الأداء |
نمط حد المعدل | الحد من النمط لمساعدتك على تجنب أخطاء التقييد المتعلقة بحدود التقييد هذه أو تقليلها، ولمساعدتك على التنبؤ بمعدل النقل بشكل أكثر دقة. | الموثوقيه |
إعادة المحاولة | مكِّن تطبيق لمعالجة حالات التعطل المتوقعة والمؤقتة عند محاولة الاتصال بمورد شبكة أو خدمة عن طريق إعادة محاولة إجراء عملية تعطلت مسبقاً بشفافية. | الموثوقيه |
ساغا | إدارة تناسق البيانات عبر الخدمات المصغرة في سيناريوهات المعاملات الموزعة. تعد Saga سلسلة من العمليات التي تقوم بتحديث كل خدمة وتنشر رسالة أو حدثاً لبدء خطوة العملية التالية. | المراسلة |
مشرف وكيل أداة الجدولة | نسِّق مجموعة من الإجراءات عبر مجموعة موزعة من الخدمات والموارد البعيدة الأخرى. | المراسلة، الموثوقيه |
«قافلة متتابعة» | قم بمعالجة مجموعة من الرسائل ذات الصلة بترتيب محدد، دون حظر معالجة مجموعات أخرى من الرسائل. | المراسلة |
التقسيم | قسّم مخزن البيانات إلى مجموعة من الأقسام أو الأجزاء الأفقية. | إدارة البيانات، كفاءة الأداء |
التوزيع الجانبي | قم بتوزيع مكونات أحد التطبيقات في عملية أو حاوية منفصلة لتوفير العزل والتغليف. | التصميم والتنفيذ، التميز التشغيلي |
استضافة المحتوى الثابت | وزِّع المحتوى الثابت إلى خدمة التخزين المستندة إلى السحابة التي يمكنها تسليمها مباشرة إلى العميل. | التصميم والتنفيذ، إدارة البيانات، كفاءة الأداء |
Strangler Fig | ترحيل نظام قديم تدريجياً عن طريق استبدال أجزاء معينة من الوظائف بالتطبيقات والخدمات الجديدة تدريجياً. | التصميم والتنفيذ، التميز التشغيلي |
اختناق | تحكم في استهلاك الموارد المستخدمة بواسطة مثيل تطبيق أو مستأجر فردي أو خدمة كاملة. | الموثوقية، كفاءة الأداء |
مفتاح الخادم | استخدام الرمز المميز أو المفتاح الذي يوفر للعملاء وصولاً مباشراً مقيداً إلى مورد معين أو خدمة معينة. | إدارة البيانات، الأمان |