الفئة : الحوسبة الشبكية

مكتب بيئات الحوسبة الشبكية باستخدام الظاهري -- الجزء 4

من جانب الجمعة 4 ديسمبر 2009 11:59

مقدمة

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

في الجزء 3 أنشأنا لدينا آلة تجهيز مجموعة الظاهري والنوافذ آلات ليصبح خاملا وقت العمال.

تشغيل أحدث كود

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

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

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

في النهاية نستطيع في نهاية المطاف مع نصي باش (ويطلق عليه كرون كل 10 دقائق) والتي تبدو بسيطة مثل هذه :

  #! / بن / ش
 إذا PS الفأس | GREP - V GREP | GREP PHP > / ديف / لاغية
 ثم
     صدى "حاليا على تجهيز وظيفة ، خروج"
 آخر
     صدى "وظيفة ليست قيد التشغيل ، يبدأ الآن"
     CD / مسار / إلى / العمل / نسخة
     إس التحديث
     فب yourJobProcessingScript.php
 فاي 

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

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

باستخدام أحدث البيانات

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

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

الانتقال دعنا نقول لدينا كمية البيانات إلى مصادر البيانات 100GB. نعم هذا جيد لا بأس به من البيانات إلى التحرك في جميع أنحاء الشبكة على التحديث. كيف يمكننا أن نضمن أن لدينا أحدث نسخة من البيانات في هذه الحالة؟ Rsync هو احتمال ، ولكن شخصيا اعتقد ذلك بتشغيل المصدر أحدث البيانات عن عملك خادم تجهيز وإعداد هذه الخطوة باعتبارها الماجستير في النسخ المتماثل (مع تسجيل بن لفترة طويلة لطيفة) قد تكون وسيلة للذهاب :

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

هذا هو كيف أقوم بإعداد خدمة بلدي المظاهرة. لإعداد النسخ المتماثل تابعت دليل على موقع ماي ( إعداد النسخ ) ، وخلال 20 دقيقة كان لي عامل بلدي inital تكرار مجموعة البيانات المهمة ملقمات السيطرة. عن كل عامل إضافي عملت ضبط النسخ وعملية في كل مرة عندما تم نسخ VM.

ملخص

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

المرة التالية

في الجزء الأخير من هذه السلسلة ، اسم على مسمى الجزء 5 ، وسوف نناقش هذا النظام للنشر. وسوف ألخص ما تم تعلمه وما تمكنت من خلق.

مكتب بيئات الحوسبة الشبكية باستخدام الظاهري -- الجزء 1

من جانب الجمعة 4 ديسمبر 2009 11:23

مقدمة

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

ك PHP المطور انا ذاهب الى استخدام الأدوات التي تستخدم في كل يوم وهي لينكس ، و الخلية ، PHP ، فيرتثلبوإكس والتخريب (SVN). ومع ذلك آمل أن يكون هذا الدليل سوف التكيف مع اللغات الأخرى ، وكذلك التكنولوجيات فقط.

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

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

لماذا نشر الحوسبة مكتب الشبكة؟

أولا كنت قد يكون التفكير ، لماذا لا مجرد استخدام الموارد الحوسبة السحابية مثل منصة EC2 الأمازون ؟ كذلك يمكن أن تكون أسباب عدة ، على سبيل المثال :

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

أنا متأكد من أن القائمة يمكن أن يستمر ، ولكن أعتقد أن هذا يكفي في الوقت الراهن.

مزايا مكتب الشبكة الحاسوبية

كذلك ، يتيح القيام ببعض الرياضيات (والفيزياء في الاسلوب الصحيح يتيح تقديم بعض الافتراضات التي تجتاح). تخيل لديك كبير سمين تشغيل خادم تجهيز 100 وظيفة في اليوم الواحد. في مكتبك لديك 50 الآلات التي عاطلة 16 ساعة في اليوم ، كل من هذه الأجهزة هي 10 ٪ قويا مثل قطع التجهيز الخاص سمين. (يتم تقريب كل النتائج هنا أن نقلل زيادة الأداء).

لذا ، يمكن السلطة آلة 1 * 10 ٪ * 03/02 = 0.067 أي وقت التجهيز المكتبي 1 في الوقت الضائع 6 الوظائف العملية الكاملة يوميا.

اذا كنت الآن على نطاق هذا الأمر يستغرق 15 المكتبية الخمول وظائف لعملية ما يصل يوميا اعتبارا خادم تجهيز الرئيسي لا.

حتى في مكتبنا التظاهر من 50 آلة يمكن ان نزيد قوتنا من 1 خادم تجهيز ما يصل إلى 4 خوادم معالجة كاملة ، أو أننا يمكن تجهيز 400 وظيفة في اليوم الواحد بدلا من 100.

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

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

تكنولوجيات

ماذا تحتاج؟ (أو أكثر بشكل صحيح ما لم أستخدمها) :

  • الآلات المكتبية الخمول (في حالتي على تجنيب الكمبيوتر المحمول القديمة ويندوز إكس بي)
  • فيرتثلبوإكس (أو آخر برنامج العميل الافتراضية)
  • جهاز ظاهري مع PHP و MySQL running تشغيل خفض OS ، ادعو هذه الملقمات بلدي يعرج :)
  • فرص عمل لتشغيل
  • وظيفة الخادم (جهاز آخر يمكن أن يكون في مكان ما الظاهري)

النمطية وظائف

أنواع الوظائف التي تم تصميم هذا النظام لتشغيل كما يلي :

  • نظام يتلقى قائمة على البيانات التي نحتاج لمباراة العودة والنتائج
  • يتضمن التدقيق مطابقة / تبحث عدة (جامدة إلى حد ما) مصادر البيانات
  • قد تنتج من مصادر البيانات تتطلب التحقق من صحة مزيد من الاندماج ، والتحقق من مصادر بيانات إضافية استجابة للنتائج
  • يتم إرجاع سجلات متطابقة مع البيانات والتحقق من صحتها ومعالجتها بشكل كامل
  • داخل كل سجل على وظيفة مستقلة عن بقية

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

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

ماذا نحقق؟

بحلول نهاية هذه المقالات وآمل أن تبين أن نشر على شبكة المكاتب لا يلزم أن يكون مضيعة مكلفة جدا أو الوقت. انا ذاهب الى مناقشة ما يلي :

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

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

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

المرة التالية

في الجزء 2 سأبدأ من خلال النظر في وظيفة نظام مراقبة ، والنظر في الكيفية التي ينبغي أن يتم تكوين فرص عمل من أجل تحقيق أكبر قدر من التجهيز مع ضمان أن تتم معالجة كل وظيفة دون أن تفشل.

مكتب بيئات الحوسبة الشبكية باستخدام الظاهري -- الجزء 2

من جانب الجمعة 4 ديسمبر 2009 11:23

مقدمة

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

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

وظيفة التحكم

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

  • وظائف يده بناء على طلب من العمال
  • اقول ما هو نوع العمال من فرص العمل لتشغيل
  • تعقب فرص العمل
  • ضمان أن يتم تشغيلها مرة واحدة فقط وظائف
  • توفير بيانات مهمة للعمال ، أو على الأقل نقول لهم مكان الحصول عليه

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

وظيفة خادم

نحن ذاهبون الى الحاجة للتحكم في مكان ما من وظائفنا ، وينبغي أن يكون هذا هو النظام الوحيد في الشبكة الخاصة بك التي لديها موارد ثابتة محدد ، يمكن أن عنوان IP أو اسم المضيف ، عنوان (باستخدام DNS داخلي) ، الخ وذلك لأن العمال بحاجة إلى معرفة مكان البحث عن فرص العمل ، والعمال بحاجة الى ايجاد نظام مراقبة العمل (لا تحكم عمل النظام العثور على العمال).

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

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

الإعداد الأساسي

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

لذا ، يتيح إنشاء ثلاثة الخلية الجداول للتعامل مع وظائف. وسوف تكون هذه الوظائف `` ، `` jobRecords و`` jobResults.

جدول الوظائف هنا أنا باستخدام SQL الأصدقاء بديلا رائعا يذكر ل بريس لمجرد أسهل لتثبيت على centOS (انظر للآخرين : 10 البدائل الكبرى لبريس )

هذا الجدول يتكون من 5 حقول بسيطة ،

  • اسم المستخدم : تحديد وظيفة فريدة
  • الاسم : هل يمكن أن يكون مرجعا العميل ، أو أي عدد من المحددات الأخرى
  • الحالة : عليك أن تعرف أين هو في هذه المهمة ، على سبيل المثال
    • 0 : لم يبدأ
    • 1 : التقطت
    • 2 : تم انجازها
  • started_by : المتواجدون بدأت القيام بهذه المهمة؟ ليس هذا المطلوب تماما ولكنها لطيفة لديهم. كنت تشير الى العمال عن طريق تتبع عنوان IP الخاصة بهم على الشبكة
  • started_at : متى العامل بدء المهمة؟ من خلال تتبع الوظائف التي لم تكتمل في غضون مبلغ العاشر من الوقت ونحن نعلم أننا بحاجة لالتقاط العمل مرة أخرى والبدء في المعالجة من قبل عامل آخر. يمكن إيقاف معالجة العمال / يذهب حاليا لأي عدد من الأسباب ، انقطاع التيار الكهربائي ، وتحطم ، وفقدان الشبكة ، إلخ.

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

يتيح إضافة وظائف قليلة سبيل المثال :

سبيل المثال وظيفة

الجدول التالي هو مرة أخرى بسيطة جدا لفهم ، وهذه هي نتائج عملنا. أنها مرتبطة الجدول الرئيسي الوظائف حسب عمود `` jobs_id. وتشكل هذا الجدول يعتمد كثيرا على البيانات التي تحتاج لتزويد العاملين لديك ، ويتيح تقديم مثال بسيط للغاية حيث لدينا أربعة أعمدة :

  • اسم المستخدم : رقم السجل
  • الاسم : اسم الشخص
  • العنوان : عنوان الشخص
  • jobs_id : معرف المهمة التي يرتبط هذا السجل

الجدول الثالث والأخير يتكون من جدول النتائج ، فإنه لديه الكثير لنفسه كما في الجدول يشكلون سجلاتنا ، ومع إضافة بعض الأعمدة قد يكون جزءا من الجدول السجلات :

  • job_record_id : ارتباط النتيجة الى طاولة العمل
  • النتيجة : البيانات نتيجة

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

اختيار وظيفة

كما ذكر سابقا ، فإن العمال سوف تفعل إدارتنا مهمة بالنسبة لنا في الوقت الراهن ، لذلك كل ما نحتاج الى القيام به حقا هو ايجاد فرص العمل التي تحتاج المعالجة والحصول على المعلومات. كيف نفعل ذلك؟ اختيار جيد لدينا معايير اختيار الوظائف والبحث عن فرص العمل ، في SQL فعلت ما يلي :

  1. اتخاذ أي الوظائف التي لم يتم وضع علامة على أنها كاملة ولكن من عاملنا وإعادة تعيين لهم (بديلا __ME__ مع المعرف ، سيكون أسهل عنوان IP) :
      UPDATE `الوظائف` SET `` حالة = 0 WHERE `` وضع = 1 AND `` = started_by __ME__ ؛ 
  2. باستخدام معايير الاختيار لدينا وظيفة ، حدد وظيفة ونقول للنظام مراقبة أن هذا العامل هو التعامل معها :
      UPDATE `الوظائف` SET `` حالة 1 = ، `` = started_by __ME__ ، `` started_at = NOW () WHERE `` حالة = 0 أو
     (`` وضع = 1 AND `` started_at> DATE_SUB (NOW () ، ساعة INTERVAL X)) ORDER BY `` ASC معرف ؛ 

    قبل الاستيلاء على الوظائف التي لم تكن قد عادت النتائج في العاشر من مقدار الوقت علينا أن نضمن أن يتم تشغيل جميع الوظائف في حالة وجود عامل معطل أو بدون اذن.

  3. انتزاع المقبل تفاصيل الوظائف تليها السجلات نفسها :
      SELECT * FROM `الوظائف` WHERE `started_by` = 1 LIMIT __ME__ ؛
     SELECT * FROM `` WHERE `job_records معرف` = __JOBID__ ؛ 

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

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

وظيفة تكوين

الجانب القادم للنظر هو حجم العمل والتكوين. من خلال اللعب مع تكوين وظيفة يمكننا تحقيق توازن بين سرعة ممتازة ، وتكرار العملية ، والموثوقية. اتخاذ سيناريوهات حساب الأموال التشغيلية زوجين :

  1. 1 الوظائف تأخذ كل يوم لتشغيل : وهذا يعني أن العاملين لديك 15 يوما لحاجة العملية لكل وظيفة (تذكر 10 ٪ من الطاقة الكهربائية ل2/3rds من الوقت). ومن الواضح أن هذا ليس من الحكمة التكوين ، وحجم العمل كبير جدا هو الطريق! ان الامر سيستغرق ما لا يقل عن ضعف الوقت للحصول على وظيفة عامل معالجتها ينبغي أن تذهب AWOL الأولي (الوقت لالتقاط أنه لم يعد نتيجة لذلك بالإضافة إلى وقت إعادة المعالجة). في مثالية مانع لديك على الأقل وظيفة واحدة مسح كامل بسهولة قبل نهاية كل فترة الخمول الطويلة ، وبهذه الطريقة يمكنك الحفاظ على وظائف أكثر والموقوتة في أسوأ الحالات على وظيفة سوف يستغرق يومين لأول عملية يجب أن تذهب في عداد المفقودين.
  2. وظائف اتخاذ 1 دقيقة لتشغيل : وهذا يعني أن العاملين لديك يستغرق حوالي 15 دقيقة لتشغيل كل وظيفة. في حين أن هذا قد يبدو في البداية مثالية ، يمكنك الحصول على مزيد تجهيز العمل خلال وقت الغداء ، وفترات الاستراحة ، واجتماعات ، الخ هذا السيناريو يضع ضغطا على مجالات أخرى من النظام الخاص بك ويقدم مشاكلها الخاصة. على سبيل المثال ، أولا نسبة قتك إعداد / تجهيز سيسجل الحق ، وخسرت بالتالي كفاءة النظام. الشبكة ستكون تدفق المعلومات بشكل مستمر وظيفة للموظفين العاملين في مختلف محبطة الذين دونغ يومهم في العمل اليوم. وأنت تسير أيضا لوضع المزيد من الضغوط على عملك خادم تجهيز كما على طبق من الكثير والكثير من القطع الصغيرة من العمل على أساس منتظم. ويمكن أخيرا ، في هذه الحالة إذا كان خادم عملك وتنخفض وأنت تسير لإنشاء سجل الظهر هائل من العمل غير المكتمل في حين أن أكبر فرص عمل للاستمرار تجهيز يجهل بسعادة أن الخادم كان العمل تواجه صعوبات.

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

  • حجم فرص العمل حتى يتسنى لكل عامل على الأقل من خلال الحصول على وظيفة 3-4 في مدة 15 ساعة (على الأرجح أطول فترة الوقت الضائع)
  • اللعب مع حجم فرص العمل حتى ذلك الوقت الإعداد يصبح ضئيلا نسبيا بالمقارنة مع الوقت لتجهيز (واضعة في اعتبارها النقطة أعلاه).
  • إذا كان العمل لا يتم إكمال المبلغ في مضاعفة من الوقت (ربما أقل) تتوقع أن نفترض أن تنجزه AWOL لها ذهب والبدء في معالجتها مع عامل آخر. هذا يعني أنك قد تضطر إلى الانتظار مدة تصل إلى ثلاثة أضعاف من العادي وظيفة لأنها لاستكمال (أطول ربما إذا فشل المهمة اللاحقة). قد تحتاج للحد من هذا الوقت ، ولكن يجب الحرص على عدم الحد منه كثيرا كما كنت قد تبدأ ازدواجية المهام معالجة على أساس منتظم.
  • وينبغي أن تكون مستقلة عن وظائف خارج المتطلبات قدر الإمكان. ملقم المهام ، على سبيل المثال ، لا ينبغي أن يكون الاتصال في بداية ونهاية كل وظيفة.
  • لا تشبع الشبكة ، وهذا سوف يكون اثنين الآثار السلبية ، وسوف تجد النهار موظفيك باستخدام الشبكة قد تكون محبطة واجهت مشاكل مع اتصالات مهلة المشكلة التي سوف تزداد سوءا كما كنت نطاق الشبكة الخاصة بك.
  • يمكن أن تضمن وظائف تعمل على العاملين لديك. إذا ما أصبحت بعض الوظائف وظائف الذاكرة أيضا سوف الفضائية المكثفة أو قرص بدء إحباط مكثفة والشيء الوحيد الذي ستلاحظ هو الانخفاض في عدد الوظائف معالجتها مع عدم وجود سبب حقيقي لماذا.

تقديم نتائج وظيفة

عند تقديم نتائج مهمة من المهم للتأكد من أن النتائج لم تكن مقدمة من عامل آخر ، خصوصا إذا كان العامل الحالي ظلت نائمة لبعض الوقت.

عند تقديم النتائج ضمان أن عدد النتائج يطابق عدد السجلات في العمل.

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

ملخص

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

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

المرة التالية

في الجزء 3 سنقوم خلق لدينا آلة المعالجة الظاهرية وإعداد لدينا آلات النوافذ ليصبح خاملا وقت العمال.

مكتب بيئات الحوسبة الشبكية باستخدام الظاهري -- الجزء 5

من جانب الجمعة 4 ديسمبر 2009 11:03

مقدمة

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

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

قبل النشر

قبل نشر النظام الخاص بالشبكة إذا كان هناك شيء واحد كنت تفعل شيئا واحدا ، وانها وحدها المعيار النظام الحالي الخاص بك! لا يهم ما أقول لكم كم من الزملاء حول نظام العمل الاضافي الخاص بك هو ذاهب الى القيام به إلا إذا كان لديك أرقام لدعم هذا الأمر الضمانات الخاص لا شيء. بذلك ،

  • كيف يمكنك معالجة العديد من السجلات في الوقت الراهن؟ في اليوم؟ لكل ساعة؟
  • كم من الوقت يستغرق عادة إلى الالتفاف على وظيفة؟
  • وكم من القدرات التي لديك؟

هناك أيضا أسئلة إضافية :

  • إذا كان خادم تجهيز (أو واحدة من الخوادم معالجة الخاص بك) وتنخفض كيف سيؤثر هذا قدراتك ، ستواجه لك؟
  • مزايا ماذا كنت آمل / نتوقع أن تحصل عليه من نظام الشبكة؟
  • والآلات المكتبية الخاص قادر على تشغيل وظائف؟
  • هل لديك (أو يمكنك أن تتحول وظيفة) للعمل في هذا النمط من التشغيل؟

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

وزع

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

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

مرة واحدة في النظام قد استقر مع آلات قليلة (دعنا نقول 10 ٪ من جميع الآلات المكتبية ، أي 5) الحفاظ على رصد حركة مرور الشبكة والجهاز المضيف performance. القياسي التالي مرة أخرى ، يجب أن يكون الآن تجهيز 33 ٪ وظائف أكثر من المعايير الخاصة بك أولا. تحقق هذا الأمر كذلك ، أو أنك على الأقل في هذا الملعب. إن لم يكن ، والتحقيق في ما يجري قبل الانتقال. تكرار هذه الدورة حتى تقوم جميعا بسعادة تشغيل الآلات المكتبية من دون قتل أو الأداء الفردي آلة طحن الشبكة إلى طريق مسدود.

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

توقف!

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

مظاهرة النظام

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

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

ثم خلق الجهاز العامل في centOS فيرتثلبوإكس على 6 سنوات من العمر كمبيوتر محمول ويندوز إكس بي. يمكنني إعداد المهام المجدولة كما هو محدد بعد نسخ VM على الجهاز وندعه يذهب.

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

مخطوطتي تجهيز ذهب أساسا على غرار هذا (أشياء بسيطة جدا) :

  • قراءة في حقل الاسم
  • عد عدد من الأسماء المتشابهة في جدول من مصدر البيانات الذي عقد في VM
  • أحصى عدد أسماء كاسم أعلاه ولكن تقسيم بمسافات (أي الاسم الأول والأوسط واللقب)
  • تتكرر هذه العملية مرات 1000

أخذت كل وظيفة تقريبا 20 دقيقة للتشغيل. عند نقطة واحدة فتحت عدة نسخ من VM عامل على الكمبيوتر المحمول نوافذ وشاهدت يتم فحص وظائف قبالة عن طريق كل من عناوين IP عامل. عند هذه النقطة أنا كما أكد أن إعادة تشغيل النسخ المتماثل تلقائيا.

ترك الكمبيوتر المحمول إلى الخمول أدى إلى البدء في عملية عامل وظيفة من الوظائف خادم السيطرة. عند استئناف استخدام الكمبيوتر المحمول كان هناك تأخير من حوالي 30-60 ثانية ، وهذا هو قدر لا بأس به من الوقت والموظفين سيكون من الضروري أن يدركوا أن هذه الآلة قد توقف لفترة قصيرة عند عودته إلى الجهاز. قد لا يكون أحدث الآلات وقفة من كل هذه المدة. سوف يستفيد من المبلغ لتجهيز تؤديها هذه الآلات خلال فترات الخمول أكثر من الموظفين تفوق الحاجة إلى الانتظار لفترة قصيرة (ويقول 1 دقيقة) لدى وصوله على أجهزتهم من صباح اليوم (أنتظر أن هذا يعد في كثير من الأحيان عن برنامج Windows Defender التحديث لاتخاذ مكان) شريطة أن جعلوا علم هذا (الوقت مفيدة للاستيلاء على فنجان قهوة الصباح!).

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

الاستنتاجات / التقييم

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

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

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

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

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













الموضوع بواسطة بانوراما Themocracy

4 زوار الآن على الانترنت
4 الزوار ، 0 السير ، 0 أعضاء
ماكس الزوار اليوم : 11 في الساعة 12:00 بالتوقيت العالمي
هذا الشهر : 19 في 19-08-2011 06:09 بالتوقيت العالمي
هذا العام : 130 في 28-03-2011 الساعة 10:40 بالتوقيت العالمي
كل الوقت : 130 في 28-03-2011 الساعة 10:40 بالتوقيت العالمي