أفضل استراتيجية لتقاسم مهمة دورية في مزرعة

StackOverflow https://stackoverflow.com/questions/1887437

  •  19-09-2019
  •  | 
  •  

سؤال

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

لذلك، كيف يمكن أن أقضي مهمة دورية وجعلها آمنة في مزرعة؟ لقد تفكرت في قائمة انتظار مستمرة ومشتركة، لكنني عالق تماما.

أيه أفكار؟

شكرا لك مقدما.

هل كانت مفيدة؟

المحلول

هناك الكثير من العوامل المفقودة على سؤالك. كيف يمكنك الوصول إلى المهمة؟ هل هي خدمة ويب؟ استدعاء إجراء عن بعد؟ هل يعمل بمفرده ثم تخزين النتائج على مجلد المشاركة؟

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

إذا كان لديك الوقت والمال اللازمة لتوسيع نطاق ما يجب إلقاء نظرة عليه استعداد إعادة تشكيلها وهو الأساس لنوع التسامح مع الخطأ الذي تسعى إليه. بالطبع من شأنها أن تنطوي على وحدة تحكم (آلات الإشراف لأن jldupont تسميها) وكذلك الكثير من الآلية والجهد للحفاظ على كل شيء معا.

الأمر يستحق كل هذا العناء فقط إذا كنت في حاجة إليها حقا. هو استثمار كبير في كل من الوقت والمال لذلك لا تفعل ذلك بجرأة فقط لأنها رائعة.

نصائح أخرى

الذهاب من 1 إلى> 1 هو دائما خطوة كبيرة.

الخيار 1

ستحتاج (من بين أشياء أخرى):

  • آلات المشرف
  • كشف بروتوكول / فشل ضربات القلب
  • بروتوكول الانتخابات لجدولة الوظيفة
  • جدولة الوظيفة
  • التقارير الوظيفة

إلخ.

الخيار 2

فقط لديك آلات متعددة تقوم المهمة وتحديد الإخراج الناجح من أحدها (أو استخدام التصويت الأغلبية إذا كنت تشعر أنك بحاجة إليها).

لست متأكدا من مكدس التكنولوجيا الخاصة بك، ولكن إلقاء نظرة على كوارتز (أو الكوارتز إذا كنت تستخدم كومة .NET). الكوارتز هو جدولة وظيفة المؤسسة مع قدرات الفشل القوية / هكتار.

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