برچسب پست ها: خروجی زیر

دکترین: به طور پیش فرض حسگر ناحیه رنگی کن ()

، چهارشنبه 30th دسامبر 2009 در ساعت 6:30 بعد از ظهر

من تلاش شده است با راه اندازی یک شمای پایگاه داده برای یک چارچوب جدید برنامه Zend پروژه. من با استفاده از تلاش برای استفاده از دکترین ORM برای مدل های پایگاه داده ام. من نیاز به راه اندازی طرح به طوری که آن را به من امکان تنظیم زمان و تاریخ به طور پیش فرض، `حسگر ناحیه رنگی، ستون، به عنوان مثال در هنگام اضافه کردن یک پیغام جدید من زمان کنونی است. بعد از کلی جستجو و تجربه که من پیدا کردم راه حل آن، بنابراین من آن را به اشتراک گذاری است.

در شمای YAML فایل خود را به سادگی زیر را انجام دهید:

 پیام:
   actAs:
     Timestampable:
       ایجاد شده:
         نام: created_at
         نوع: برچسب زمان
         فرمت: Ymd H: I: S
       به روز رسانی:
         نام: last_updated
         نوع: برچسب زمان
         فرمت: Ymd H: I: S
   ستون های:
     شناسه (شماره):
       نوع: عدد صحیح
       اصلی: صادق
       autoincrement: درست
     نام و نام خانوادگی: رشته (255)
     پست الکترونیک: رشته (300)
     پیام: رشته (2000)

اگر در طرف دیگر شما updated_at `ستون می خواهم شما می توانید زیر استفاده کنید:

 پیام:
   actAs:
     Timestampable:
       ایجاد شده:
         نام: created_at
         نوع: برچسب زمان
         فرمت: Ymd H: I: S
       به روز رسانی:
         معلول: درست
   ستون های:
     شناسه (شماره):
       نوع: عدد صحیح
       اصلی: صادق
       autoincrement: درست
     نام و نام خانوادگی: رشته (255)
     پست الکترونیک: رشته (300)
     پیام: رشته (2000)

دفتر محاسبات شبکه با استفاده از محیط های مجازی - قسمت 4

، جمعه، 4th دسامبر 2009 11:59

معرفی

من در یک شرکت کار می کنند که در آن ما برای اجرای بسیاری از مشاغل دسته پردازش میلیون ها پرونده داده را در هر روز و من شده فکر کردن به تازگی در مورد تمام ماشین هایی که در اطراف هر روز نشسته انجام هیچ چیزی برای چند ساعت. آیا آن را نمی شود خوب است اگر ما می تواند این دستگاه قدرت پردازش سیستم خود را برای تقویت استفاده کنید؟ در این مجموعه ای از مقالات من قصد دارم در مزایای بالقوه به کارگیری دفتر شبکه با استفاده از محیط های مجازی.

در بخش 3، دستگاه پردازش مجازی و راه اندازی ماشین آلات ویندوز برای تبدیل شدن به زمان کارگران بیکار.

اجرای آخرین کد

به ناچار پس از ایجاد کارگران منطق کسب و کار شما تغییر خواهد کرد، اشکالات خواهد یافت، کد سریعتر کارآمد تر تولید خواهد شد در نتیجه ترک کارگران خود را به اطراف پردازش داده ها با استفاده از کد های قدیمی بد بو نشسته است. پس چگونه می توانم به شما اطمینان می دهیم که ما همیشه با استفاده از آخرین و بهترین نسخه از اسکریپت های پردازش؟

چند بسیار آسان راه های ساده ما می توانیم این کار را انجام دهند وجود دارد، ترفند، با این حال، این است که به کاهش قدرت پردازش و ترافیک شبکه را در دستیابی به این. بیایید شروع با ساده ترین راه حل و بهبود آن را به آرامی بیش از یک زن و شوهر از تکرار.

روش اول خواهد بود که به سادگی اتصال به سرور کار ما کنترل (از طریق سامبا، FTP، یا مشابه) و کشیدن آخرین نسخه از کد. بسیار موثر است، اما آن کار را انجام دهد. بیایید که تا حدودی بهبود، در مورد ایجاد یک اسکریپت سیستم rsync و با استفاده از آن هر بار به جای؟ روش دیگر آنچه در مورد قرار دادن اسکریپت پردازش ما را به براندازی چک کردن کد در ابتدا و پس از آن به روز رسانی کد ما در هر اجرا ( SVN رسانی

در پایان ما می تواند در نهایت با یک اسکریپت bash (به نام cron در هر 10 دقیقه) که به عنوان ساده به نظر می رسد که این

  #! / بن / شل
 اگر ص تبر | grep استفاده-V grep استفاده | grep استفاده پی اچ پی / توسعه تمدن / تهی
 سپس
     اکو "کار در حال حاضر پردازش، خروجی"
 دیگر
     اکو "کار در حال اجرا نیست، شروع به
     سی دی / راه / / کار / کپی
     SVN به روز رسانی
     پی اچ پی yourJobProcessingScript.php
 فی 

در حال حاضر ما می توانید مطمئن باشید که با هر یک اجرا می کنیم قطعا در حال اجرا آخرین کد. ما در حال حصول اطمینان از این به روز رسانی پایگاه کد ما را در هر زمان و هر اجرا را انجام و کاهش ترافیک شبکه انتقال تنها تفاوت فایل در سراسر شبکه ما.

در راه اندازی تظاهرات من، من دقیقا همانطور که در بالا. براندازی نصب شده بر روی سرور پردازش کار من شد و من به سادگی آخرین کد را از شعبه کارگر با استفاده از SVN به روز رسانی کشیده است. من هم نسخه تعداد تگ اسکریپت پردازش بود که به عنوان بخشی از نتایج بازگشت به پایگاه داده برگشته است. به این ترتیب من می توانم ببینم که کد من در حال به روز رسانی شد هر بار من تنه من را به اینترنت اکسپلورر شعبه کارگر آن برداشتهاید که من قطعا آخرین اسکریپت پردازش در حال اجرا بود.

با استفاده از آخرین اطلاعات

اگر پردازش شغل خود را از منابع داده استفاده می کند و سپس در برخی از این ها می خواهند به روز رسانی بیش از حد. مگر در مواردی که با شما تماس منبع داده خود را به صورت بسیار نادر قصد دارید به سیل با ترافیک شبکه خود را به عنوان کارگران خود را شروع به در حال اجرا در آوردن همه چیز را متوقف است. راه حل برای من تصمیم گرفتم که من می خواهم به حرکت منابع اطلاعاتی من در اطراف با صوتی.

نگه دارید شما اسب وجود دارد! اگر چه منابع اطلاعات من بسیار زیاد هستند؟ خوب این واقعا یک مورد که چه مقدار از داده ها ما صحبت است؟ ممکن است مقرون به صرفه تر برای نصب اضافی بزرگتر از هارد دیسک را در هر دستگاه نسبت به خرید یک سرور پردازش اضافی. این یک سوال از بودجه است و به کسب و کار برای تصمیم گیری است. شاید که منابع اطلاعاتی خود را آنقدر بزرگ است که خود را تنها خام نگه داشتن این مقدار داده ها در دستگاه های کارگر خود را. در آن صورت چه کار می کنید؟ خوب ما می تواند فراخوانی یک سرویس دهنده داده های محلی نگاه کنید، اما این ممکن است مسائل را با شبکه ایجاد کند. در این حالت یک سیستم شبکه مانند این ممکن است غیر واقعی در محیط های اداری خود را شامل است. همچنین ممکن است که شما می توانید به استراتژی های جایگزین در حال اجرا نگاه کنید، برای مثال فقط تماس کارگران خود را بین 08:00 و 06:00 هر شب و / یا درخواست throttling منبع داده ها باشد.

حرکت در اجازه می دهد تا داده ها می گویند مقدار ما منابع 100GB از داده ها است. خب بله که مقدار کمی از داده ها را به حرکت در سراسر شبکه در به روز رسانی است. چگونه به شما اطمینان می دهیم که ما آخرین نسخه از داده ها در این مورد؟ سیستم rsync یک احتمال است، اما شخصا من فکر می کنم با اجرای آخرین منبع داده بر روی سرور کار پردازش و تنظیم این به عنوان یک استاد در تکرار (با ورود به سیستم خوب بن طولانی) ممکن است راه رفتن:

تکرار با تنظیم هر یک از کارگران خود را به عنوان برده به کار به روز رسانی سرور کنترل منبع داده خود را بریزد پایین را به سادگی کارگران خود را بدون افزایش عظیمی در فعالیت های شبکه ای (که مگر اینکه شما به روز رسانی داده های بزرگ را انجام و تمام کارگران را لگد در در یک بار). این امر دارای مزایای بیش از سیستم rsync که شما می توانید یک وقفه طولانی قبل از هر کار می کنید، به عنوان به روز رسانی پایگاه داده، خروجی زیر شبح در کارگر خود را به طور مستمر به روز رسانی داده های خود را در حالی که پردازش ادامه یابد.

این است که چگونه من راه اندازی سرور تظاهرات من. برای راه اندازی تکثیر من به دنبال راهنمای سایت خروجی زیر ( تنظیمات تا تکرار ) و در عرض 20 دقیقه من تا به حال کارگر inital من در تکرار این کار به کنترل سرور داده ها. برای هر کارگر اضافی تنظیمات تکرار و روند کار در هر زمان و در زمانی که ماشین مجازی کپی شد.

خلاصه

در این بخش از مقاله ما در چه آسان و بدون درد است که برای حفظ کد پردازش خود را به سیستم rsync using subverion (SVN) روز کار را به انجام و کاهش ترافیک شبکه در time. همان نگاه ما همچنین در مورد چگونگی برای حفظ اطلاعات شما منبع به روز اجازه می دهد که به هر یک از کارگران خود را به چکیدن است. بنابراین ما منطقه اطمینان حاصل کرد که ما با منطق کسب و کار و اطلاعات در سیستم اداری شبکه. بدیهی است که وجود دارد داشته باشد جایگزین های بیشماری برای انجام این وظایف، اما در اینجا دو مثال ساده نشان می دهد چگونه یک راه حل آسان است.

دفعه بعد

در بخش پایانی این مجموعه، به درستی به نام قسمت 5 ، ما در بحث در مورد استقرار این سیستم است. من به طور خلاصه آنچه آموخته شده است و آنچه که من موفق به خلق است.

دفتر محاسبات شبکه با استفاده از محیط های مجازی - قسمت 2

، جمعه، 4th دسامبر 2009 11:23 PM

معرفی

من در یک شرکت کار می کنند که در آن ما برای اجرای بسیاری از مشاغل دسته پردازش میلیون ها پرونده داده را در هر روز و من شده فکر کردن به تازگی در مورد تمام ماشین هایی که در اطراف هر روز نشسته انجام هیچ چیزی برای چند ساعت. آیا آن را نمی شود خوب است اگر ما می تواند این دستگاه قدرت پردازش سیستم خود را برای تقویت استفاده کنید؟ در این مجموعه ای از مقالات من قصد دارم در مزایای بالقوه به کارگیری دفتر شبکه با استفاده از محیط های مجازی.

در قسمت 1 خودم رو دادم به کلی از سیستم و فن آوری خواهد شد با استفاده از و همچنین برخی از دلایل بالقوه مورد بحث به همین دلیل شما می توانید برای ایجاد شبکه دفتر.

کنترل های شغلی

اگر قصد دارید شغل در حال اجرا می شود و سپس شما نیاز به رفتن به برخی از راه را برای مدیریت آنها. کار سیستم خود را کنترل کنید (بر روی سرور کار خود) باید به خوبی فکر حتی قبل از اقدام به اجرای شبکه دفتر. پس در ابتدا، وظایف برای کنترل یک سیستم کار:

  • دست از شغل بر درخواست از کارگران
  • بگویید کارگران چه نوع از مشاغل به اجرا
  • مشاغل آهنگ
  • اطمینان حاصل شود که کار فقط یک بار اجرا می شوند
  • ارائه داده های کار به کارگران، و یا حداقل به آنها بگویید که آن را دریافت کنید

این سیستم همچنین نیاز به توسعه، یک راه حل که با این نسخهها کار در حال حاضر تنها در یک مورد ممکن است توسعه یافته برای اجرای انواع مختلفی از مشاغل به عنوان کسب و کار ارزش در راه حل های شبکه را می بیند. به عنوان مثال، شغل ممکن است اولویت های به دست آوردن، بیش از یک نوع کار ممکن است وجود داشته باشد (به عنوان مثال چندین پایگاه های کد)، در نهایت شما حتی ممکن است دستگاه های چند کارگر های مختلف که برای هر نوع کار بهینه شده است (هر چند که "کارگر عمومی حرکت به دور از اجرا ایده). همیشه سعی کنید در مورد آینده فکر می کنم زمانی که در حال توسعه سیستم، یک چشم انداز کوتاه مدت می تواند به سرخوردگی دراز مدت و افزایش زمان توسعه منجر شود.

سرور های شغلی

ما قصد داریم نیاز به جایی برای کنترل شغل خود را از این باید تنها سیستم در شبکه خود را که دارای منابع یاب ثابت، این باشد که یک آدرس IP، نام میزبان، آدرس (با استفاده از DNS داخلی)، و غیره به دلیل این است که کارگران باید بدانند که به کجا نگاه کنند برای مشاغل، کارگران نیاز به پیدا کردن کار سیستم های کنترل (و نه کار سیستم کنترل کارگران).

سرور کار خود واقعا یک کار پیچیده (به هر حال در یک سیستم اصلی)، به آن نیاز دارد برای ذخیره لیستی از مشاغل، دست مشاغل، دریافت نتایج، و سپس آنها را ذخیره برای بازیابی بعدی. این قطعات (دست مشاغل 'مانند) چگونه تعریف می شوند را می توان بسیار ساده است. بعدها ما می توانیم سیستم مدیریت برای اضافه کردن، ویرایش، حذف، تعلیق شغل، اما این است که فراتر از این تمرین به گسترش است.

بدون هیچ دلیل آنچه پس از آن که شغل خود را از سرور می تواند یک ماشین مجازی در حال اجرا در سرور پردازش اصلی خود را ارائه منابع بیش از حد بسیاری از آن را تخلیه نمی وجود دارد. سرور کار با این حال نیاز به در دسترس بودن بالا، اگر آن را در عصر روز جمعه در حال رفتن به از دست دادن کل تعطیلات آخر هفته از پردازش پایین می رود، به طور بالقوه از چند هفته به ارزش زمان پردازش (در مقایسه با زمانی که به سرور پردازش اصلی خود را به تنهایی هزینه شما) است. شما ممکن است بخواهید به در نظر قرار دادن سرور کار خود را بر روی محیط زیست بار متعادل برای در دسترس بودن بالا.

راه اندازی پایه

راه اندازی اولیه برای سرور کار ما را از آنچه من خواستار یکی از سرور لنگی من (که شده است nux لی متر ySql و و P HP) تشکیل شده است. کد در حال اجرا بر روی کارگران the در واقع از کار چه شغل می تواند اجرا شود آن را از طریق برقراری ارتباط با پایگاه داده سیستم کنترل کار. بعدها در ما می تواند یک وب سرویس و در واقع دست کارهای به جای داشتن کارگران انجام کار سخت خود، ایجاد، اما در حال حاضر با استفاده از اصل KISS (نگه داشتن آن ساده، احمق!) ادامه خواهیم داد .

بنابراین، به شما اجازه می دهد تا 3 خروجی زیر جداول برای مقابله با شغل. از این خواهد شد: مشاغل `،` jobRecords `، و` jobResults `.

شغل جدول در اینجا من با استفاده از SQL دوستان یک جایگزین عالی کمی به phpMyAdmin به فقط به خاطر اینکه راحت تر آن را در لینوکس نصب کنید (برای دیگران می بینیم: 10 بزرگ جایگزین به phpMyAdmin به )

این جدول شامل 5 فیلد ساده،

  • ID: شناسایی منحصر به فرد کار
  • نام: میتونه مرجع مشتری، یا هر تعداد از شناسه های دیگر
  • وضعیت: شما باید بدانید که در آن کار است، به عنوان مثال
    • 0: شروع نشده
    • 1: برداشت
    • 2: پایان یافته
  • started_by: چه کسی شروع به انجام این کار؟ این به طور کامل ضروری نیست اما خوب است به. من می خواهم کارگران ردیابی آدرس IP خود را در شبکه خود را نشان می دهد
  • started_at: هنگامی که کارگر کار را شروع کردی؟ با پیگیری کارهایی که در درون مقدار X از زمان به اتمام می دانیم که ما باید انتخاب کنید تا این کار یک بار دیگر و شروع به پردازش توسط یکی دیگر از کارگران است. کارگران می توانند پردازش / توقف offline برای هر تعداد از دلایل، قطع برق، سقوط، از دست دادن شبکه، و غیره

از آن آسان است که چگونه این جدول می تواند با چند زمینه اضافی اجازه می دهد تا برای ردیابی آمار، پایان ستون زمان که برای دیدن چه مدت این کار انجام گرفت، برای مقابله با بسیاری از کارگران را برداشت کار تمدید (بدیهی است که این نیاز به تمایل 1)، اولویت شغلی، لیست می توانید بر روی بروید. در سناریو کار پیچیده تر از آن خواهد بود امکان مشخص کردن کارگر چه مقدار حافظه، دسترسی به (و بنابراین تنها استفاده از کارگران مناسب)، و یا حتی چه نوع کارگر خواهد بود لازم است.

اجازه می دهد که اضافه کردن چند شغل به عنوان مثال:

شغل به عنوان مثال

جدول بعد دوباره به درک بسیار ساده است، این سوابق کار ما است. آنها توسط یک ستون jobs_id `به میز شغل اصلی مرتبط است. را تشکیل می دهند از این جدول بسیار بستگی دارد داده هایی را که شما نیاز دارید که برای عرضه به کارگران خود، اجازه می دهد تا ایجاد یک مثال بسیار ساده است که ما باید چهار ستون:

  • شناسه (شماره): ID رکورد
  • نام و نام خانوادگی: نام شخص
  • آدرس ایمیل: آدرس سرگذشت
  • jobs_id: ID کار است که این رکورد مربوط به

جدول سوم و نهایی متشکل از یک جدول نتایج، آن را به همان اندازه ای را تشکیل می دهند به عنوان جدول سوابق ما، و علاوه بر این برخی از ستون ها می تواند بخشی از جدول سوابق:

  • job_record_id: لینک نتیجه را در میز کار
  • نتیجه: داده ها منجر

و ... که همه شما را برای کنترل کار نیاز دارند. (البته در سطح بسیار ابتدایی) در مورد من، من به یکی دیگر از جدول که در آن اطلاعات من برای پردازش واقع شده بود اشاره کرد، اما این به راحتی می تواند یک فایل، پارامترهایی را برای اجرای کد شبیه سازی، آن را نام ببرید.

انتخاب یک کار

همانطور که قبلا، کارگران مدیریت کار ما را برای ما در حال حاضر انجام دهد، بنابراین همه ما باید واقعا انجام داد این است که پیدا کردن یک شغل است که نیاز به پردازش و دریافت اطلاعات است. چگونه این را انجام دهید؟ خوب معیار انتخاب شغل ما و انتخاب کنید و برای کار، در SQL من به شرح زیر است:

  1. هر شغل هستند که به عنوان کامل اما از کارگر ما مشخص شده و تنظیم مجدد آنها (جایگزین ME__ __ با شناسه و آسان خواهد بود آدرس IP):
     تکمیلی: شغل: مجموعه وضعیت `= 0 WHERE` وضعیت `= 1 و` started_by `= __ ME__. 
  2. با استفاده از معیارهای انتخاب کار ما، یک شغل را انتخاب کنید و به سیستم کنترل است که این کارگر در حال برخورد با آن:
      تکمیلی: شغل: مجموعه: وضعیت `= 1،` started_by `= __ ME__: started_at` = کن () WHERE `وضعیت` = 0 OR
     (`وضعیت` = 1 و `started_at`> DATE_SUB (NOW ()، فاصله X ساعت)) ORDER BY `ID` ASC؛ 

    با گرفتن شغل هایی که در نتیجه مقدار X از شما اطمینان می دهیم که همه کارها در صورت کارگر توفنده و یا رفتن AWOL را اجرا بازگشته است.

  3. بعد از جزئیات مربوط به شغل و به دنبال آن پرونده خود گرفتن:
      SELECT * FROM `شغل` WHERE `started_by` = __ ME__ LIMIT 1؛
     SELECT * `job_records` WHERE `ID` = __ JOBID__. 

پس از اتمام کار ما قرار دادن پرونده در نتیجه ما و علامت کار خود به عنوان کامل. به خاطر داشته باشید به عنوان شغل می تواند تعلیق / در هر زمان اجازه می دهد برای برخی از نیرومندی به خط خود را از سر گرفته است. این ممکن است که این کار را متوقف کند نیمی از راه را از طریق به روز رسانی سیستم های کنترل کار، چک کردن تعداد رکورد در یک شغل و تعداد نتایج: از بازگشت به کار کنترل سیستم ذخیره می باشد عاقلانه حرکت است.

علاوه بر این، در حالی که این نشان می دهد چگونه شغل را می توان از قاب SQL پرس و جو است که شما واقعا باید به انتخاب مدیریت چکیده کنترل کار خود را به طوری که اگر شما تصمیم به تبدیل به با استفاده از یک سرویس وب، فایل سیستم مبتنی بر XML ، و یا هر نوع دیگر تعدادی از سیستم های کد بالا آن تاثیر نمی گذارد.

پیکربندی های شغلی

جنبه بعدی در نظر گرفتن اندازه و پیکربندی کار می باشد. با بازی با تنظیمات کار ما می توانیم تعادل عالی بین سرعت، تکرار فرایند، و قابلیت اطمینان را بزنند. نگاهی به چند سناریو OFA:

  1. شغل 1 روز در هر اجرا کنید: این به این معنی است که کارگران خود را به 15 روز نیاز دارند برای پردازش هر کار (به یاد داشته باشید 10 درصد از قدرت برای 2/3rds از زمان). این است که به وضوح عاقلانه پیکربندی، اندازه شغل خود را از راه بیش از حد بزرگ است! این امر حداقل دو برابر این زمان را برای کار پردازش را باید کارگر اولیه AWOL (انتخاب کنید تا به آن است که در نتیجه به اضافه زمان بازفرآوری برنگشته است). در ایده آل شما می خواهم حداقل یک شغل به راحتی در پایان هر دوره طولانی بیکار پاک، که شما در حفظ شغل تیک تاک در طول و در بدترین حالت کار می کنند دو روز به روند باید اول از دست رفته است.
  2. شغل را 1 دقیقه اجرا: این به این معنی است که کارگران خود را حدود 15 دقیقه برای اجرای هر کار است. در حالیکه این ممکن است در ابتدا به نظر می رسد ایده آل، پردازش کار اضافی به دست آورید در زمان ناهار، پرش به قهوه، جلسات، و غیره این سناریو فشار بر مناطق دیگر از سیستم شما و معرفی مشکلات خاص خود را دارد. به عنوان مثال، ابتدا راه اندازی / پردازش نسبت خود را هم در حال رفتن به سمت راست پایین، کارایی سیستم و در نتیجه از دست دادن. شبکه شما در حال رفتن به اطلاعات به طور مداوم جریان کار به کارکنان های مختلف کارگران خسته کننده که دونگ روز خود را به کار روز. شما نیز فشار بیشتری را بر روی سرور پردازش کار که آن را تا مقدار زیادی و تعداد زیادی از تکه های کوچکی از کار را به صورت منظم به غذا. در نهایت، در این وضعیت اگر سرور کار خود را به پایین می رود شما قصد ایجاد دوباره وارد سیستم شوید عظیمی از کار ناتمام در حالی که شغل های بزرگتر می تواند در ادامه پردازش خوش غافل که سرور کار تجربه مشکلات.

در واقع هیچ تنظیمات ایده آل یکی برای راه اندازی شبکه شما وجود خواهد داشت، بسیار بستگی به منابع در دسترس، نوع شغل، چرخش شغلی مورد نیاز زمان، قابلیت های شبکه، و غیره. با این حال برخی از دستورالعمل ها خواهد بود:

  • شغل اندازه به طوری که هر کارگر می تواند از طریق حداقل شغل 3-4 در یک دوره 15 ساعت (به احتمال زیاد طولانی ترین مدت زمان بیکار)
  • بازی با حجم کار به طوری که زمان راه اندازی می شود نسبتا ناچیز در مقایسه با زمان پردازش (با در نظر گرفتن بالاتر از نقطه).
  • اگر یک کار در دو مقدار زمان (شاید کمتر) شما انتظار آن را برای تکمیل کامل نیست فرض کنیم که از دست رفته خود را AWOL و شروع به پردازش آن را با دیگر کارگران است. این به این معنی است که شما ممکن است مجبور به صبر تا سه برابر طول طبیعی یک کار برای تکمیل (و احتمالا دیگر اگر این کار پس از آن با شکست مواجه). شما ممکن است بخواهید این زمان را کاهش دهد، اما مراقب باشید آن را کاهش دهد بیش از حد ممکن است شما شروع به تکثیر وظایف پردازش را به صورت منظم.
  • شغل باید مستقل از الزامات خارج تا آنجا که ممکن است. سرور شغل، به عنوان مثال، تنها باید در آغاز و پایان هر کار تماس گرفته شود.
  • شبکه خود را اشباع نمی کند، این دو اثر منفی داشته باشد، کارکنان در طول روز شما را پیدا خواهد کرد با استفاده از شبکه های خسته کننده و مشکلات ممکن است با اتصال به شبکه زمان بندی مشکل است که تنها بدتر خواهد شد که شبکه خود را در مقیاس شما تجربه.
  • اطمینان از شغل می توانید بر روی کارگران خود را اجرا کنید. اگر شغل می شوند بیش از حد حافظه شدید یا شغل های فضای دیسک فشرده شروع به سقط و تنها چیزی که شما متوجه خواهید شد این افت در تعداد شغل پردازش با هیچ دلیل واقعی همین دلیل است.

نمایش نتایج: از ارائه یک کار

در هنگام ارائه نتایج حاصل از یک کار مهم است که برای بررسی که نتایج دیگری کارگر نشده است را مشاهده کنید، به خصوص اگر کارگر فعلی نهفته است برای برخی از زمان بوده است.

هنگامی که نتایج به دست آمده مشاهده کنید اطمینان حاصل شود که تعدادی از نتایج با شماره پرونده در این کار است.

همانطور که قبلا، و نه می تواند بیش از تاکید کرد، ایجاد تحمل خطا را در کار بازیابی و تسلیم نتایج. کارگران می توانند (و به احتمال زیاد خواهد شد) را به حالت به حالت تعلیق در ناخوشایند ترین بار و این نیاز به catered برای. همچنین یک بار دیگر چکیده دور ارسال نمائید نتایج کمک خواهد کرد که تهیه کردن برای تغییرات آینده به سیستم کنترل کار خود را بسیار ساده تر برای مقابله با.

خلاصه

در این section ما در نگاه چه کار کنترل سرور نیاز به انجام و چگونه می توانید یک سیستم بسیار ابتدایی راه اندازی شده است. ما در مورد چگونگی بدست آوردن کار از سیستم های کنترل و بهترین شغل ما را از دفتر شبکه سیستم خود را به پیکربندی. برای به پایان رساندن، از یک پاراگراف یا دو در ارسال نتایج به سرور کنترل کار ارائه شده است.

  • یک سرور کنترل شغل مدیریت شغل و تضمین می کند که تمام واحدهای کار تکمیل شده
  • چکیده کار خود را انتخاب کنید / نتایج تسلیم ما می توانیم تکنولوژی سرور کنترل بدون مشکلات زیادی را تغییر دهید
  • پیکربندی شغل خود را به اطمینان حاصل شود که آنها به سرعت و کارآمد بدون فشار بیش از حد بر روی زیرساخت های شبکه خود اجرا و تکثیر وظایف پردازش را به صورت منظم.
  • اطمینان حاصل شود که شما برای ساختن checking تحمل خطا و خطا را به روال خود را، کارگران می توانند تعلیق و از سرگیری و ناخوشایند ترین بار. به یاد داشته باشید برای بررسی نتایج به دست آمده در حال حاضر توسط یکی دیگر از کارگران مشاهده کنید.

دفعه بعد

در بخش 3 خواهیم ماشین پردازش مجازی و ایجاد و راه اندازی ماشین آلات پنجره های ما برای تبدیل شدن به زمان کارگران بیکار.

دفتر محاسبات شبکه با استفاده از محیط های مجازی - قسمت 5

، جمعه، 4th دسامبر 2009 11:03 PM

معرفی

من در یک شرکت کار می کنند که در آن ما برای اجرای بسیاری از مشاغل دسته پردازش میلیون ها پرونده داده را در هر روز و من شده فکر کردن به تازگی در مورد تمام ماشین هایی که در اطراف هر روز نشسته انجام هیچ چیزی برای چند ساعت. آیا آن را نمی شود خوب است اگر ما می تواند این دستگاه قدرت پردازش سیستم خود را برای تقویت استفاده کنید؟ در این مجموعه ای از مقالات من قصد دارم در مزایای بالقوه به کارگیری دفتر شبکه با استفاده از محیط های مجازی.

در قسمت 4 با استفاده از ابزار برای اطمینان حاصل شود که ما در حال اجرا است آخرین نسخه از کد ها و منابع داده به طوری که نتایج به دست آمده همیشه به روز با آخرین اطلاعات مربوط به کسب و کار و منطق به نظر می رسید.

پیش از استقرار

قبل از استقرار سیستم شبکه شما اگر یک چیز شما انجام دهد و یک چیز وجود دارد به تنهایی آن را معیار سیستم فعلی شما! مهم نیست که همکاران در مورد چه مقدار کار اضافی سیستم شما کاری میخواهید انجام دهید مگر اینکه شما باید اعداد به عقب تا این که حداقل تضمین های خود را به شما بگویم هیچ چیز نیست. بنابراین،

  • تعداد رکورد چگونه می تواند شما را پردازش در حال حاضر؟ پستها در طول روز؟ در ساعت؟
  • چه مدت طول آن به طور معمول به نوبه خود کار کنند؟
  • چقدر ظرفیت بیشتر دارید؟

پرسش های اضافی وجود دارد:

  • اگر سرور پردازش خود (و یا یکی از سرورهای پردازش) پایین می رود چگونه خواهد بود بر توانایی های خود را، شما را فلج خواهد شد؟
  • مزایا و امید / انتظار از یک سیستم شبکه؟
  • ماشین های اداری خود را قادر به در حال اجرا شغل؟
  • آیا شما (و یا می تواند به شما شغل تبدیل می شود) به wrok در این سبک در حال اجرا؟

آخرین نکته مهم است که به وقت خود را بر روی هر گونه تغییر عمده مانند این است. به روز رسانی کد پردازش خود را به کار با استفاده از روش جدید، معیار است. احتمالا راه اندازی سرور پردازش خود را به یک ماشین مجازی برای اجرا، پس از تمام سرور پردازش خواهد بود یکی دیگر از کارگران (فقط یکی از بسیار قدرتمند نسبتا). اجازه فرآیند جدید برای حل و فصل شود.

گسترش

پیشنهاد من این خواهد بود به دفتر 1 آخر هفته پاپ به انجام نصب و راه اندازی. این کار را درست قبل از تعطیلات دو هفته و ترک بنابراین فقیر اختتامیه جشنواره صنعت چاپ برای مقابله با پیامدهای ... شاید نه ...

استقرار سیستمی شبیه به این نیاز است آهسته باشد. با وجود این که نسبتا ساده است به راه اندازی این سیستم به زیرساخت های دفتر کل خود را (و دیجیتال) تاثیر می گذارد. در مرحله اول، از حافظه جمع کردن چند دستگاه در یک زمان، نظارت بر ترافیک شبکه، چگونه میزبان کارگر بر اساس یک روز به روز انجام دهد. شما ممکن است نیاز به تنظیمات کار خود را در واکنش به یافته های خود را تغییر دهد.

هنگامی که سیستم با یک دستگاه چند (اجازه می دهد که می گویند 10 درصد از ماشین های اداری، به عنوان مثال 5) نگه داشتن نظارت بر ترافیک شبکه و ماشین میزبان معیار performance. بعدی دوباره مستقر شده است، شما هم اکنون می باید پردازش شود شغل 33٪ بیشتر از معیار اول شما. بررسی اینطور است، یا که شما حداقل در این ballpark. اگر نه، به بررسی آنچه در جریان است، قبل از رفتن بر روی. تکرار این چرخه تا زمانی که شما با خوشحالی تمام ماشین های اداری بدون کشتن عملکرد دستگاه فردی یا آسیاب شبکه خود را به یک وقفه در حال اجرا است.

در تمام زمانها را تعیین معیار، حتی بعد از تمام اعزام ساخته می شوند. بررسی چگونگی به روز رسانی کد جدید بر سرعت سیستم شما، بررسی کنید که تمامی کارگران در گزارش و پردازش شغل. به آهستگی (به آرامی) افزایش پیکربندی شغل خود را برای دریافت بهترین ها را از کارگران و شبکه شما.

را متوقف کنید!

اگر شما می خواهید برای جلوگیری از کارگران خود را از در حال اجرا در برخی از زمان؟ آنها در خارج وجود دارد در حال اجرا، بازسازی و تلاش خود را به پردازش داده ها را مثل حشرات گرسنه. پاسخ ممکن است به نظر می رسد آشکار است، اما ارزش خود را با اضافه کردن تنها در مورد نادیده گرفته آن. به سادگی پردازش اسکریپت خود را با یک خروجی (0) ویرایش کنید و یا می میرند () و یا برخی از بیانیه های دیگر را به کشتن کار پردازش. دلیل مهم که چرا ما همیشه از آن تلاش برای به روز رسانی به آخرین اسکریپت پردازش قبل از هر اجرا!

سیستم های تظاهرات

به منظور نوشتن این مجموعه مقالات کوتاه من ایجاد یک شبکه بسیار کوچک نشان می دهد که فن آوری ها و روش ها است. من خواندن بسیاری از مقالات، آموزش، و با استفاده از ابزار های مختلف برای راه اندازی و نظارت بر چه می گذرد. به هیچ وجه به من بیرون رفته و اشباع شده اداره کل با حمل و نقل و نه من تا به حال دسترسی به کارکنان به طور منظم PC اعضای چگونه عملکرد میزبان تحت تاثیر قرار شد.

سیستم تظاهرات بسیار فروتن بود در واقع. من استفاده از دسکتاپ به طور منظم به عنوان یک سرور کنترل کار. در این خروجی سرور نصب کرده بود که به عنوان یک استاد در تکرار، نصب پی اچ پی ، و SVN مرتبط با آپاچی (برای دسترسی از طریق VM کارگر).

من سپس دستگاه کارگر لینوکس را بر روی 6 ساله لپ تاپ ویندوز XP بر روی مجازی ایجاد شده است. وظایف برنامه ریزی شده راه اندازی من به عنوان پس از کپی کردن VM را بر روی دستگاه مشخص شده و بهش ادامه بدم.

ماشین مجازی با پی اچ پی، براندازی، و خروجی زیر راه اندازی شد. شاخه ای به نام "کارگر از کار کنترل مخزن سرور را بررسی و آن را به روز می تواند با استفاده از SVN به روز رسانی کرد. بعد من خروجی زیر راه اندازی را به عنوان برده و بررسی می شود که تکرار داده ها به MySQL در سرور کنترل شغلی پایین به VM کارگر. بعد از این همه اسکریپت bash و برنامه cron را راه اندازی کنم.

اسکریپت پردازش من اساسا در امتداد خط (چیزهای بسیار ساده) رفت:

  • خوانده شده در زمینه نام
  • تعدادی از نام های مشابه در یک جدول از منبع داده ها در VM برگزار شد شمارش
  • تعدادی از نام های شمارش به عنوان فوق از تقسیم نام با فاصله (یعنی اسم اول، وسط، نام خانوادگی)
  • مکرر این روند 1000 بار

هر کار در زمان حدود 20 دقیقه را اجرا کنند. در یک نقطه تهیه چندین کپی از VM کارگر را بر روی لپ تاپ ویندوز باز و تماشا شغل توسط هر یک از آدرس های IP کارگر چک. در این مرحله من هم تایید کرد که تکرار به طور خودکار دوباره راه اندازی.

خروج از لپ تاپ در یک کارگر شروع به پردازش شغل از سرور کنترل کار منجر به بیکار. هنگامی که از سرگیری استفاده از لپ تاپ از یک تأخیر در حدود 30-60 ثانیه وجود داشت، این است که یک مقدار عادلانه از زمان و کارکنان باید آگاه باشند که ممکن است دستگاه خود برای مدت کوتاهی مکث در هنگام بازگشت به دستگاه است. جدیدتر ماشین آلات ممکن است توقف این طولانی ندارد. سود از مقدار پردازش شده توسط این دستگاه ها در طول دوره های بیکار انجام می تر که سنگین تر بودن از اعضای هیات نیاز به یک دوره کوتاه مدت (مثلا 1 دقیقه) صبر کنید پس از رسیدن به ماشین های خود را از صبح (اغلب دیگر صبر کنید که این برای یک مدافع ویندوز به روز رسانی را به محل) آنها را از این امر آگاه ساخته شد (زمان مفید برای گرفتن یک قهوه صبح).

در مجموع احساس می کنم اعتماد به نفس که من فن آوری است که می تواند مورد استفاده برای ایجاد چنین سیستمی را نشان داده اند. من نشان داده اند که مانند یک سیستم کار می کند در یک مقیاس کوچک (بسیار) و با بیشتر آزمایش می تواند کوچک استفاده از منابع از ماشین های اداری است. اگر من به نقطه انجام این کار من خواهد بود بسیار علاقه مند به دانستن / وقتی شخص دیگری می کند.

نتیجه گیری / ارزیابی

قدم بعدی واضح خواهد بود که به عنوان مثال دنیای واقعی در واقع دریافت و شروع به استقرار یک سیستم مانند این که در یک محیط دفتر و ببینید چه اتفاقی می افتد. درخواست یک کسب و کار برای ارتکاب به این شرکت دنباله دنباله دار به اثبات تکنولوژی و اثربخشی ممکن است کمی مشکل باشد. گرید / محاسبات توزیع شده، بسیار محبوب است برخی محافل است و برخی از برنامه های بزرگ (BIONC، SETI @ صفحه اصلی، تاشو صفحه، و غیره). من، با این حال، پیدا کردن یک مقیاس کوچکتر و سیستم ساده و مثل این در جستجوی من است که می تواند در یک محیط دفتر نورد.

ایجاد یک سیستم اساسا رایگان با استفاده از نرم افزار اغلب منبع باز و ابزار موجود را تقریبا در هر دفتر. فن آوری های اساسا نشان داده شد و نشان می دهد برای انجام کار و به عنوان انتظار می رود. امیدوارم من نشان می دهد که با کار زیاد نیست و با نصب بسیار ساده شما می توانید به دفتر شبکه سیستم محاسبات قدرتمند، ارزان، و مقیاس پذیر است که همه در همان زمان استقرار.

هنگامی که یک سیستم می باشد و در حال اجرا وجود دارد تقریبا هیچ پایان دادن به میزان سفارشی سازی و بهبود شما می توانید. آمار به عنوان مثال / محک زنی به راحتی می تواند نشان دادن ارزش چنین سیستم هر روز اضافه می شود. دستگاه های جدید می توانند به سرعت و به راحتی به آن اضافه شود، و هنگامی که با ارتقاء به سخت افزار موجود در ورود به تقویت قدرت پردازش خود را.

من امیدوارم که شما از خواندن این سری مقالات لذت و غذا برای اندیشه در حال اجرا دفتر شبکه سیستم را به شما داده شده است. راه حل ارائه شده در اینجا لزوما در همه شرایط کار نمی کند اما باید سازگار باشند اجازه می دهد تا شما را به اطلاعات پردازش خود را با استفاده از راه حل خود را انجام.

لطفا در صورت تمایل به هر گونه نظر، اصلاح و یا بهبود و من بهترین من برای حفظ این مقاله به روز شده برای مطابقت.













تم پانوراما توسط Themocracy

13 بازدیدکنندگان اکنون آنلاین است.
3 مهمان، 10 رباتها، 0 عضو
مکس بازدید کنندگان امروز: 20 در 04:29 صبح ساعت محلی UTC تنظیم شده اند
این ماه: 26 در 2012/04/04 10:27 PM ساعت محلی UTC تنظیم شده اند
در این سال 69 27-02-2012 09:56 ساعت محلی UTC تنظیم شده اند
تمام زمان ها: 130 28-03-2011 10:40 PM ساعت محلی UTC تنظیم شده اند