سؤال

ماذا أنماط التصميم أو التقنيات هل استخدمت تلك الموجهة خصيصا نحو قابلية التوسع?

أنماط مثل وزن الذبابة يبدو لي أن النمط هو نسخة متخصصة من نمط المصنع, ، لتعزيز قابلية التوسع العالية أو عند العمل ضمن قيود الذاكرة أو التخزين.

ما هي الأشياء الأخرى التي استخدمتها؟(عدم تطبيع قواعد البيانات, وما إلى ذلك) هل تجد أن القواعد تتغير عندما يكون التوفر العالي أو قابلية التوسع هو هدفك الأساسي؟

الحالات المحتملة هي:

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

المحلول

بعض الأنماط التي تتبادر إلى الذهن:

  • تطبيق عديم الجنسية
  • اقتران فضفاض
  • غير متزامن
  • تحميل كسول
  • التخزين المؤقت
  • تماثل
  • التقسيم
  • التوجيه

بعض الموارد:

نصائح أخرى

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

لا يوجد شيء مجاني - يتعلق الأمر بالتسويات المقبولة لتحقيق أهداف عملك.المتغيرات الرئيسية هي:

  • يكلف
  • التوفر
  • تناسق
  • القدرة على البقاء (على سبيل المثال، التسامح مع التقسيم)

ممتاز ورق لقراءة حول هذا الموضوع.

أعتقد أن المقياس الجيد هو فحص منحنى "التكلفة/المستخدم" ومحاولة الحفاظ عليه للتقدم الخطي (بافتراض أن التكلفة المقبولة لكل مستخدم هي معلمة معروفة :-)

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

وفي نهاية المطاف، أعتقد أنه يجب على المرء أن يسأل نفسه (نفسها):بالنسبة للفشل من النوع X، كم عدد "المستخدمين" الذين يمكن أن يتأثروا وإلى متى؟

سيكون هناك دائمًا SPOF (نقطة فشل واحدة) في مكان ما ولكن يمكن للمرء هندسة نظام بحيث يتم نقل SPOF هذا بالقرب من نقاط النهاية (على سبيل المثال.المستخدمين).في كثير من الحالات، يكون SPOF خارج نطاق سيطرة التطبيق، على سبيل المثال.شبكة POP غير متاحة.

على أية حال، يمكنني قضاء ساعات في هذا الموضوع...

تعد كتب POSA (هندسة البرمجيات الموجهة للأنماط) مصدرًا رائعًا لمثل هذه الأنماط.

بوسا 4, ، على وجه الخصوص، يهتم بالحوسبة الموزعة، ولكن جميع المجلدات مليئة بأنماط قابلية التوسع.

ما لاحظته مع منطق التطبيق عديم الحالة هو أنه يقدم العديد من المتطلبات الأخرى مثل تأمين قاعدة البيانات والتي تعمل في النهاية ضد قابلية التوسع.

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

أنا أتعامل مع مثل هذه المواقف الآن وكنت أتساءل كيف يتعامل الجميع مع مثل هذا السلوك عديم الجنسية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top