Категорија: Мрежа компјутери

Канцеларија мрежа компјутери со користење на виртуелни околини - Дел 4

Со , петок 4 Декември 2009 година 11:59

Вовед

Јас работам во компанија во која трчаме многу серија работни места обработка милиони евиденција на податоци секој ден и јас сум се размислува неодамна за сите машини кои седат околу секој ден прави ништо за неколку часа. Зарем не би било добро доколку можеме да ги користат овие машини за да ја зајакне моќ на процесирање на нашите системи? Во овој сет на статиите, ќе одам да се погледне на потенцијалните придобивки од вработувањето канцеларија мрежа користење виртуализирани средини.

Во Дел 3 Ја создадовме нашата виртуелна машина за обработка и конфигурирате Windows машини да стане мрзлив работно време.

Водење на најновите кодот

Неизбежно по создавање на работници бизнис логиката да се промени, грешки ќе се најде, побрзо поефикасно кодот ќе бидат произведени со тоа оставајќи вашиот работници седеа околу обработка на податоци со користење стари миризливи код . Како тогаш ние се осигура дека ние сме секогаш со користење на најновите и најголема верзија на обработка на скрипти?

Има неколку многу лесно едноставни начини би можеле да го направите ова, трик, сепак, е да се намали процесорска моќ и мрежниот сообраќај во постигнување на оваа. Да започнеме едноставно, со наједноставен на решенија и да се подобри тоа полека со текот на неколку повторувања.

Со првиот метод ќе биде едноставно да се поврзете со нашата работа за контрола на серверот (преку самба, FTP, или слично) и повлечете надолу на најновата верзија на кодот. Не е многу ефикасна, но тоа ќе ја заврши работата. Да се ​​подобри за тоа нешто, како за создавање на rsync скриптата и користење дека секој пат кога наместо неа? Алтернативно, она што за ставање на нашите најновите обработка скрипта во субверзија одјавувањето на кодот на почетокот, а потоа само ажурирање на нашите код на секој работи ( svn update )?

На крајот, би можел да заврши со сценариото баш (наречен од закажана на секои 10 минути) кој изгледа толку едноставно како ова:

  #! / Bin / sh
 ако PS секира | grep-v grep | grep PHP > / dev / null
 потоа
     echo "работа е во процес на обработка, Егзит"
 друго
     echo "работа не се извршува, да започнеме сега"
     CD / патека / до / работа / копија
     svn update
     PHP yourJobProcessingScript.php
 -fi 

Сега можеме да бидеме сигурни дека со секој работи ние сме дефинитивно работи за најновата код. Ние сме обезбедување ова со ажурирање на нашите кодот база во секое време се вршат се кандидира и намалување на мрежниот сообраќај од само пренос на датотека разлики во нашата мрежа.

Во мојот демонстрација подесување, го направив точно како што е погоре. Субверзија беше инсталиран на мојот работа обработка сервер и јас едноставно се повлече најновите кодот од "работник" branch користење на "svn update. Јас исто така, додаде бројот на верзијата на мојот таг обработка скрипта која се врати во базата на податоци како дел од резултатите се врати. На овој начин можев да видам дека мојот кодот е се ажурираат секој пат кога копира моето стебло во работник гранка, односно дека сум бил дефинитивно работи за најновата обработка сценариото.

Користење на најновите податоци

Доколку вашата работа обработка прави користењето на извори на податоци, тогаш во некој момент овие се ќе биде обновено премногу. Освен ако не се јавите на вашиот извори на податоци за многу ретко основа си оди за да поплави вашата мрежа со сообраќај што е можно вашиот работници почнат да се носат се во застој. За мојот решение решив дека сакам да се движи мојот извори на податоци со околу мојата виртуелна машина.

Држете си коњи таму! Што ако моите извори на податоци се огромни? Па ова навистина е случај за тоа колку податоци зборуваме? Тоа може да биде поекономична да се инсталира дополнителна поголем хард диск во секоја машина, отколку да купите дополнителна обработка серверот. Ова е прашање на буџетот и е до бизнис да се одлучи. Тоа можеби дека вашите податоци извори се толку големи што е само неизводливо да го задржи износот на податоци во вашиот работник машини. Во тој случај што ќе направиш? Па би можеле да се погледне во нарекувајќи локалните податоци на серверот, но ова може да предизвика проблеми со мрежата. Во овој случај мрежа систем, како што тоа може да стане нереално да се вклучите во канцеларија на животната средина. Таа, исто така може да биде дека можете да погледнете во алтернативни работи стратегии, на пример само повикувајќи вашиот работници 20:00-06:00 секоја ноќ и / или Дроселиране извор на податоци барања.

Преселба на да речеме нашите извори на податоци изнесува 100GB податоци. Па да тоа е сосема малку на податоци да се движите низ мрежата на ажурирање. Како ние ќе се осигура дека имаме најновата копија на податоците во овој случај? Rsync е можност, но лично мислам дека со извршување на вашиот најновите извор на податоци на вашата работа за обработка на серверот и поставување на ова се како господар во репликација (со убав долго бин Вклучи се) може да биде начин да се оди:

репликација Со поставување на секој од вашите работници се како роб на работа за контрола на серверот на ажурирања на вашиот извори на податоци ќе браздичка надолу убаво на вашиот работници без огромен пораст во мрежата активност (што е, освен ако не се изврши ажурирање на податоците и огромна сите работници удар во одеднаш). Ова има предности во однос rsync во кои нема да добиеш долга пауза пред секоја работа; како база на податоци надградби, MySQL серверот на вашиот работник постојано ќе ги ажурира своите податоци додека обработка продолжува.

Ова е како поставам мојата демонстрација серверот. За да го поставите репликација го следев упатството за сајт MySQL ( Поставување на репликација ) и во рок од 20 минути имав inital работник реплицира на работа контрола сервери базата. За секоја дополнителна работник на репликација поставувања и процесот работел секој пат кога В.М. бил копиран.

Резиме

Во овој дел на статијата имаме погледна колку е лесно и безболно е да одржите вашиот обработка код во тек со using rsync или subverion (SVN) да ја заврши работата и да се намали сообраќајот во мрежата на истиот time. Ние, исто така, разговараа како да одржите вашиот извор на податоци информации до-to-date со тоа што овозможува да браздичка до секој од вашите работници. Така ние област се осигура дека ние се држи чекор со бизнис логиката и информации во нашата канцеларија мрежа систем. Има очигледно ќе биде безброј алтернативи за извршување на овие задачи, но тука беа два едноставни примери за да покаже колку е лесно решение е да се дојде до.

Следниот пат

Во завршниот дел од оваа серија, во потполност име Дел 5 , ние ќе разговараме имплементирање на овој систем за. Ќе ги сумирам што го знаеме и она што јас успеав да се создаде.

Канцеларија мрежа компјутери со користење на виртуелни околини - Дел 1

Со , петок 4 Декември 2009 година 11:23

Вовед

Јас работам во компанија во која трчаме многу серија работни места обработка милиони евиденција на податоци секој ден и јас сум се размислува неодамна за сите машини кои седат околу секој ден прави ништо за неколку часа. Зарем не би било добро доколку можеме да ги користат овие машини за да ја зајакне моќ на процесирање на нашите системи? Во овој сет на статиите, ќе одам да се погледне на потенцијалните придобивки од вработувањето канцеларија мрежа користење виртуализирани средини.

Како PHP програмер јас ќе одам да користат алатки кој го користам секој ден, имено, Linux, MySQL , PHP, VirtualBox и субверзија (SVN). Сепак се надевам дека овој водич ќе се прилагодат на други јазици и технологии само како добро.

Решението го обезбеди ќе биде многу лабаво врз основа на видот на преработка би треба да се постигне но тоа не може да биде вистина преку целата статија како ќе се променат работите за едноставност, или да се произведе повеќе интересни употреба сценарија.

Овие виртуализирани средини ќе се кандидира на Виндоуз машини, бидејќи тоа е она што мнозинството на канцеларии работи. На обработка дека канцелариски машини не треба да се меша со вработените користење на овие машини, треба да бараат никакво одржување на машина, и лесно да се распоредуваат на нови машини како што тие ќе станат достапни. Исто така, нови виртуелни машини не треба да бараат било каков дополнителен конфигурација како оваа голема мера го намалува приспособливост и леснотија со која мрежа систем може да биде продолжена.

Зошто распоредување на Канцеларијата компјутерска мрежа?

Прво може да се размислува, зошто да не само користење на cloud computing ресурси како што се EC2 платформа Амазон ? Па причини може да биде неколку, на пример:

  • Вие нема да ја довери на одредени податоци за да на cloud computing животната средина
  • Вие не може да се стави одредени податоци во облак компјутерска околина за правни причини (на пример податоци напуштање на земјата), потенцијално за правни причини, на пример, NHS записи.
  • Сакате да ја задржите вашата обработка на единици во близина и има целосна контрола над хардверот премногу
  • Немате проектот средства да се кандидира облак случаи
  • Вашата канцеларија нема врска со интернет и поради тоа не е можно да се користи облак ресурси
  • Вие не како дожд, облаците укажуваат на дожд, па затоа да се задржи и далеку

Сигурен сум дека на листата може да продолжи, но мислам дека е доволно за сега.

Предности од канцеларија компјутерска мрежа

Па, да направи некои математика (и во вистинска физика стил ви овозможува да направите некоја убедливо претпоставки). Замислете да имате голем мускулест обработка серверот се извршува 100 работни места по ден. Во вашата канцеларија имаш 50 машини кои се неактивен 16 часа на ден, секој од овие машини е 10% како моќен како мускулест обработка Север. (Сите резултати тука се заоблени да се потцени перформанси зголемување).

Значи, 1 машина * 10% моќ * 2 / 3 пат = 0,067, односно 1 десктоп обработка во време на мирување може процесот 6 целосна работни места по ден.

Ако сега скала ова се што е потребно 15 неактивен компјутери на процесот, како многу работни места по ден како главен за обработка на серверот не.

Па во нашата преправам канцеларија на 50 машини би можеле да се зголеми нашата моќ на процесирање од 1 сервер до 4 целосна обработка на сервери, или може да биде обработка на 400 работни места на ден, наместо на 100.

Информации, без инвестиции во нов хардвер Вашата компанија има само ја зголеми својата серија капацитет за обработка на 4 пати! Потенцијално си оди за да се зголеми својата моќ употреба, но од повеќето канцеларија средини Сум бил на машини обично лево за една ноќ секој случај, така што можеше да се види ова како зелена иницијатива.

Други предности, исто така, значи дека инвестирањето во нови (или групно) за обработка на сервери може да биде одложен доколку вашата канцеларија машини се доволни и дека како да го подобрите моќта на вашиот канцелариски машини вашата канцеларија мрежа станува помоќен автоматски.

Технологии

Што ви треба? (Или поточно што не го користам):

  • Ајдл канцелариски машини (во мојот случај резервни старите прозорци XP лаптоп)
  • VirtualBox (или друг виртуелизација клиент софтвер)
  • Виртуелна машина со PHP, MySQL running водење на се намали оперативниот систем, јас сум повикувајќи овие ми Limp сервери:)
  • Работни места за да се кандидира
  • Работа сервер (може да биде уште виртуелната машина некаде)

Типични Вработувања

Видовите на работни места дека овој систем е дизајниран да работи како што следува:

  • Системот добива листа на податоци врз основа на која ние треба да одговара и да се вратат резултати
  • Спарување вклучува проверка / бараат неколку (прилично статични) извори на податоци
  • Резултати од извори на податоци може да побара дополнителни валидација, спојување, проверка на дополнителни извори на податоци како одговор кон резултатите
  • Податоците се врати со појавување на евиденција, целосно потврдени и се обработуваат
  • Секој рекорд во рамките на работа е независна од останатите

Значи, во основа сме во потрага на водење работни места кои бараат мешавина на база на податоци пребарувања и некои број Британија, прилично типичен сценарио во деловното опкружување.

Мрежа решенија, не се само поволна за обработка на работни места од овој тип. Во суштина, секој процес кој може да се подели на независни единици може да се работи паралелно. Погледнете го овој Википедија за примери и повеќе информации: мрежните компјутери , но неколку познати примери се SETI @ Home и BIONC . Постојат рамки за водење компјутери мрежи, и овие се добро вреди да се гледа во.

Што ќе се постигне?

До крајот на овие статии Се надевам дека ќе покаже дека имплементирање канцеларија мрежа не треба да се енормно скапи или одзема време. Одам да разговараат за:

  • Поставување на работа на системот за контрола, работа конфигурација
  • Создавање на соодветна обработка на виртуелната машина
  • Како да подесување на системот на машина со Windows
  • Обезбедување сте со користење на најнова код и податоци
  • Распоредување и стандарди
  • Гледајќи напред

Ќе бидам зграда (Добро, изградена, а потоа пишува тоа) пример апликација за тестирање на концептите на локална машина со Windows XP и ми "GridMachine" виртуелната машина. Мојата работа за контрола на серверот ќе биде мојата главна машина која работи Fedora 11 .

Ова е во никој случај не треба да покажат целосно работат робустен систем, неговата цел повеќе од демонстрација и да дискутираме кој покажува дека овие работи може да се постигне во разумно краток временски период и во малку трошоци. Ве молиме слободно да ме праќајте било какви коментари, корекции или подобрувања и јас ќе дадам се од себе да го задржи овој член ажурирани да се совпаѓаат.

Следниот пат

Во дел 2 ќе започне со потрага на работа на системот за контрола, и да бараат во тоа како работни места треба да биде конфигуриран со цел да се постигне најголем износ на обработка додека се осигура дека секоја работа се обработуваат без пропадне.

Канцеларија мрежа компјутери со користење на виртуелни околини - Дел 2

Со , петок 4 Декември 2009 година 11:23

Вовед

Јас работам во компанија во која трчаме многу серија работни места обработка милиони евиденција на податоци секој ден и јас сум се размислува неодамна за сите машини кои седат околу секој ден прави ништо за неколку часа. Зарем не би било добро доколку можеме да ги користат овие машини за да ја зајакне моќ на процесирање на нашите системи? Во овој сет на статиите, ќе одам да се погледне на потенцијалните придобивки од вработувањето канцеларија мрежа користење виртуализирани средини.

Во Дел 1 дадов преглед на системот и технологии ќе биде со користење, како и дискутира некои од потенцијалните причини зошто вие би сакале да се создаде канцеларија мрежа.

Работа за контрола на

Ако сте ќе треба да се работи работни места, тогаш се случува да треба некој начин да управуваат со нив. Вашата работа на системот за контрола (на вашата работа сервер) треба да биде навистина добро обмислен пред дури и се обидува да се кандидира канцеларија мрежа. Значи прво, она што се задачите за работа на системот за контрола:

  • Рака работни места по барање од работниците
  • Кажете работници Кои видови на работи да се кандидира
  • Песна работни места
  • Осигурајте се дека работите се работи само еднаш
  • Обезбедување на работа податоци на работниците, или барем да им каже каде да го добие

Системот, исто така треба да се растеглива, решение што работи за сега во еден случај може да се продолжи да се кандидира неколку видови на работни места, како на бизнис гледа вредноста во мрежа решение. На пример, може да добијат работни места приоритети, повеќе од една работа тип може да постои (т.е. неколку кодот бази), на крајот дури и може да работи неколку различни работник машини кои се оптимизирани за секој тип на работа (иако тоа не се движат подалеку од "генерички работник "идеја). Секогаш се трудам да размислувам за иднина, кога развој системи, краткорочни визија може да доведе до долгорочно фрустрација и зголемување на развојот на време.

Работа Server

Ние ќе треба некаде да се контролира нашата работа од, ова треба да биде само систем на вашиот мрежа која има постојана локатор, се дека IP адреса, името, рачно (со користење на внатрешниот DNS), итн Тоа е затоа што работниците треба да знаат каде да бараат работа, работниците треба да се најде работа контролен систем (не на работа на системот за контрола Најди работниците).

Работата серверот сам по себе не навистина имаат комплицирана задача (во основен систем во секој случај), треба да се сместат на листата на работни места, од рака, работни места, да се примаат резултати, а потоа и ги чува за подоцна пронаоѓање. Како овие делови (како "од рака работни места") се дефинирани може да биде многу основни. Подоцна може да се прошири системот да го вклучите интерфејс за да додадете, уредувате, бришете, да го суспендира работни места, но ова е надвор од оваа вежба.

Нема причина она тогаш вашата работа серверот не може да биде виртуелна машина работи во рамките на вашата главна обработка серверот доколку не на мозоци премногу ресурси од него. Работата серверот сепак не треба висока достапност, ако се спушта на вечер петок си оди за да се изгуби целиот викенд на обработка, потенцијално да ве чини неколку недели во вредност од времето на обработка (во споредба со вашата главна обработка серверот сам) . Вие може да сакате да се разгледа ставајќи вашата работа серверот на оптоварување избалансиран животната средина за висока достапност.

Основни подесување

Основната подесување за нашата работа серверот ќе се состои од она што јас го повикувам еден од моите Limp сервери (што е Li nux, м ySql, П HP). На код се извршува на Thea работници, всушност, ќе работат од она што работни места тоа може да работи преку интеракција со со работа системот за контрола на бази на податоци. Подоцна би можеле да се создаде веб сервис, а всушност рака работни места наместо на работниците прават напорна работа самите себе, но сега за сега ќе продолжиме со користење на KISS принцип (Нека биде едноставно, глупав!).

Значи, да се создаде три MySQL табели да се справи со работа. Тие ќе бидат `Вработувања`, `jobRecords`, и `jobResults`.

работни места маса Еве јас користам SQL Бади голем малку алтернатива на phpMyAdmin само поради тоа што нејзините полесно да се инсталира на CentOS (за другите да видат: 10 Велика алтернативи на phpMyAdmin )

Оваа табела се состои од 5 едноставни полиња,

  • ID: уникатно идентификуваат на работа
  • Име: би можело да биде клиентот референца, или било кој број на други идентификатори
  • Статус: Вие треба да знаете каде работата е во, на пример,
    • 0: Не почна
    • 1: зедов
    • 2: Завршено
  • started_by: Кој почна вршење на работа? Ова не е целосно задолжителна, но е убаво да се имаат. Би му сугерираат следење на работниците со нивната IP адреса на вашата мрежа
  • started_at: Кога работникот почеток на работа? Со следење на работни места кои не се заврши во рок од Х сума на време знаеме дека треба да ги собереш на работа уште еднаш и на проектот за обработка од страна на друг работник. Работниците може да го запре обработка / Оди присутен за било кој број на причини, прекин на електричната енергија, несреќата, мрежа загуба, итн

Тоа е лесно како оваа табела може да се прошири со неколку дополнителни полиња за да се овозможи следење на статистиката, завршница време колона да се види колку долго работа се, на шалтер за да видите колку работници крена работа (очигледно ова треба да се стремат кон 1), работа приоритет, на листата може да оди и натаму. Во посложени работа сценарија тоа ќе биде можно да се определи колку меморија работникот ќе им треба пристап до (а со тоа само се користи соодветни работници), па дури и каков тип на работник ќе биде потребен.

Да додадете неколку пример работни места:

пример работни места

Во следната табела повторно е доста едноставна да се разбере, овие се нашите работа записи. Тие се поврзани со главната работа табелата со колона `jobs_id`. На сочинуваат на оваа табела многу зависи од податоците кои ви се потребни за снабдување на вашиот работници, да се направи еден многу едноставен пример каде што има четири колони:

  • : ID на снимање
  • име: Лице името
  • адреса: адреса лицето
  • jobs_id: На работа ID што овој рекорд е поврзана со

Третата и конечна табела се состои од резултатите маса, има ист сочинуваат како нашата база на податоци маса, и со додавање на некои колумни може да биде дел од евиденцијата табела:

  • job_record_id: Линк резултатот на работа маса
  • резултат: Резултат податоци

... И тоа е се што е потребно за работа контрола! (Иако на многу основно ниво) Во мојот случај јас сум посочи друга маса каде што моите податоци на процесот се наоѓа, но тоа може само така лесно е датотека, параметри да се кандидира симулација код, можете името на таа.

Изборот на работа

Како што е наведено претходно, работниците ќе се потрудиме работа за управување со за нас сега за сега, така што сите ние треба навистина да направите е да најдете работа што треба обработка и да добијат информации. Како ќе го направите ова? Па изберете нашата работа критериуми за селекција и да бараат работни места, во SQL го направив следново:

  1. Донесете ги сите работни места кои не се означени како заврши, но од нашиот работник и ресетирање на нив (замена __ME__ со идентификатор, најлесно ќе биде IP адреса):
      Ажурирање `Вработувања` СЕТ `статусот` = 0 КАДЕ `статусот` = 1 И `started_by` = __ME__; 
  2. Користење на нашата работа критериуми за селекција, изберете работа и да се каже дека системот за контрола на овој работник се занимава со тоа:
      Ажурирање `Вработувања` СЕТ `статусот` = 1, `started_by` = __ME__, `started_at` = СЕГА () Кога `статусот` = 0 или
     (`Статусот` = 1 И `started_at`> DATE_SUB (сега (), интервал Х час)) Подреди по `id` ASC; 

    Од грабање работни места кои не се вратија резултати во Х сума на време ние се осигура дека сите работни места се одвива во случај на работник паѓа или ќе awol.

  3. Следна дофати Вработувања детали проследено со евиденцијата се:
      Select * from `Вработувања` КАДЕ `started_by` = __ME__ ГРАНИЧНИТЕ 1;
     Select * from `job_records` КАДЕ `id` = __JOBID__; 

По завршувањето на работа се внесува нашите резултат евиденција и марка на работа како завршена. Запомни како работни места може да го суспендира / продолжи во секое време им овозможи за некои стабилноста во вашата скрипта. Тоа може да биде дека задачата суспендира половина пат низ ажурирање на работа на системот за контрола, па проверка на бројот на записи во работа и бројот на резултати спаси назад на работа на системот за контрола ќе биде мудар потег.

Покрај тоа, додека Ова покажува колку работни места може да бидат избрани и успеа од SQL-пребарување рамка што навистина треба да се abstracting вашата работа контрола, така што, ако одлучат да се префрлат на користење на веб сервис, датотека базиран систем, XML , или било која друга број на системи тоа нема да влијае на кодот над неа.

Работа Конфигурација

Следниот аспект да се разгледа е работа големина и конфигурација. Играјќи со работа конфигурација може да се постигнат одличен баланс помеѓу брзината, процесот репликацијата, и сигурност. Земете неколку ОРД сценарија:

  1. Вработувања се 1 ден секој да се кандидира: Ова значи дека работниците треба 15 дена да го процесот на секое работно место (сетете се 10% од моќта за 2/3rds на време). Ова не е јасно мудар конфигурација, вашата работа големина е премногу голем! Тоа ќе бидат потребни најмалку двојно повеќе време да се добие работа обработени првичните работник треба да оди awol (време да ги собереш дека не се врати резултат плус преработка време). Во еден идеален ќе треба најмалку една цела работа лесно ослободен од крајот на секоја долго неактивен период, на тој начин да се задржи на работни места темпирана завршена и во најлош случај една работа би се два дена за процесот на прво треба да одат недостасува.
  2. Вработувања се 1 минута да се кандидира: Ова значи дека работниците да трае околу 15 минути за да ја стартувате секоја работа. Додека ова уште на почетокот може да се чини идеално, ќе добијат дополнителна работа обработка за време на ручек време, паузите за кафе, состаноци, итн ова сценарио става притисок врз други области на вашиот систем и да воведува свои проблеми. На пример, прво вашиот подесување / времето за обработка сооднос се случува да одам право надолу, па затоа губи ефикасноста на системот. Вашата мрежа ќе биде постојано стриминг работа информации на различни работници фрустрирачки вработените кои се Донг нивниот ден на ден работат. Ти си исто така ќе се стави повеќе вирус на вашата работа за обработка на серверот, како што има да ни ги подметне многу, многу мали парчиња на работа, на редовна основа. И на крај, во оваа ситуација ако вашата работа серверот оди надолу си оди за да се создаде огромен назад најавите на незавршени работи додека поголеми работни места може да продолжи на обработка блажено свесни дека работата на серверот се соочува со тешкотии.

Во реалноста ќе има никој идеален конфигурација за мрежа поставувањето, многу зависи од расположливите ресурси, видови на работа, работа пресврт време барања, мрежа способност, и така натаму. Сепак, некои насоки ќе бидат:

  • Големина на работни места, така што секој работник може да се добие преку најмалку 3-4 работни места во рок од 15 часа (најдолго најверојатно неактивен период)
  • Играј со работа големина, така што подесување време станува прилично незначителен во споредба со времето за обработка (имајќи го во предвид погоре точка).
  • Ако работа не заврши во двоен износ на време (можеби помалку) што се очекува тоа да се заврши тоа се претпостави дека неговото помина awol и на проектот за обработка со друг работник. Ова значи дека можеби ќе треба да чекаат до три пати повеќе од нормална должина на работа за да заврши (можеби повеќе, ако после работа не). Вие може да сакате да се намали тоа време, но бидете внимателни да не го намали премногу како што може да почнат да повторување обработка на задачи на редовна основа.
  • Вработувања треба да биде независна од надворешни услови колку што е можно. Работата сервер, на пример, само треба да се контактира на почетокот и на крајот на секое работно место.
  • Не наситен вашата мрежа, ова ќе има два негативни ефекти, вашата дневна персонал ќе се најде со помош на мрежата фрустрирачки и проблеми може да се доживее со врски времето на проблем кој само ќе се влоши како ќе го зголемите вашиот мрежа.
  • Обезбедување работни места може да работи на вашиот работници. Ако работни места да станат премногу меморија интензивна или простор на дискот интензивна работа ќе започне прекинувам и единственото нешто што ќе забележите е една капка во бројот на работни места обработуваат без вистинска причина зошто.

Доставување на резултатите од работа

При поднесување на резултатите од работа, важно е да се провери дека резултатите не се поднесени од страна на друг работник, посебно ако тековната работник е хибернација за некое време.

Кога резултатите се доставени да се обезбеди дека бројот на резултати се совпаѓа со бројот на записи во рамките на работа.

Како што е наведено претходно, а не може да биде над нагласи, се изгради грешка толеранција во работа на пронаоѓање и поднесување резултати. Работниците може да (и најверојатно ќе) оди во суспендира владата на повеќето неповолно на времето и тоа треба да се грижеа за. Исто така уште еднаш abstracting далеку вашите резултати поднесување ќе им помогне да се грижиме за идните промени на вашата работа на системот за контрола многу полесно да се справи со.

Резиме

Во овој section имаме погледна она што работа за контрола на серверот треба да направите и како да се добие многу основни систем воспоставен. Разговаравме како да се добие работа од контролниот систем и како најдобро да го конфигурирате работни места за да добиете најмногу нашите од вашата канцеларија мрежа систем. За да се заврши, став или две за доставување на резултатите назад на работа за контрола на серверот беше презентирана.

  • А за работа за контрола на серверот управува работни места и гарантира дека сите работни единици се завршени
  • Со abstracting вашата работа изберете / резултати поднесување можеме да го промениме технологијата на контрола на сервер без многу проблеми
  • Конфигурирај вашиот работни места за да се осигура дека тие се работи брзо и ефикасно, без ставање премногу притисок врз вашата мрежна инфраструктура, и без повторување обработка на задачи на редовна основа.
  • Осигурајте се дека ќе се изгради грешка толеранција и грешка checking во вашите секојдневни навики, работниците може да го суспендира и да продолжи и на повеќето неповолно пати. Не заборавајте да проверите дали резултати веќе се поднесени од страна на друг работник.

Следниот пат

Во Дел 3 ќе се создаде нашиот виртуелен машина за обработка и да се воспостави нашите прозорци машини да стане мрзлив работно време.

Канцеларија мрежа компјутери со користење на виртуелни околини - Дел 5

Со , петок 4 Декември 2009 година 11:03

Вовед

Јас работам во компанија во која трчаме многу серија работни места обработка милиони евиденција на податоци секој ден и јас сум се размислува неодамна за сите машини кои седат околу секој ден прави ништо за неколку часа. Зарем не би било добро доколку можеме да ги користат овие машини за да ја зајакне моќ на процесирање на нашите системи? Во овој сет на статиите, ќе одам да се погледне на потенцијалните придобивки од вработувањето канцеларија мрежа користење виртуализирани средини.

Во Дел 4 Ги свртевме погледите кон користење на алатки за да се осигура дека ние сме работи за најновата верзија на кодот и извори на податоци, така што добиените резултати се секогаш-to-date со најновите бизнис информации и логика.

Пред распоредувањето

Пред имплементирање на вашата мрежа систем, ако има едно нешто што го правите и една работа само тоа е репер вашиот сегашниот систем! Без разлика што ќе кажат неговите колеги за тоа колку дополнителна работа на вашиот систем ќе го направи, освен ако имаш броеви да се врати овој до вашиот гаранции не се ништо друго. Значи,

  • колку евиденција може да се процес во моментов? На ден? На час?
  • Колку време е вообичаено да се да се сврти на работа?
  • Колку повеќе капацитет имате?

Исто така дополнителни прашања:

  • Ако вашиот обработка сервер (или еден од вашите обработка сервери) оди надолу како тоа ќе влијае на вашите можности, ќе биде осакатена?
  • Што предности се надевате / очекуваат да добијат од мрежа систем?
  • Дали вашата канцеларија машини способни за водење на работни места?
  • Дали вашите (или работни места може да се конвертира) да работат во овој стил на водење на?

Последната главна точка е да се земе вашата време на било голема промена се допаѓа ова. Ажурирајте го вашиот обработка код да работат со помош на новата методологија, повторно репер. Можеби го поставите вашиот обработка серверот да работи на виртуелна машина, после сите ваши обработка серверот ќе биде само уште еден работник (само многу моќен еден релативно). Дозволете на нов процес за решавање.

Распоредување

Мој предлог би бил да се поп во канцеларија еден викенд ги изврши сите инсталации и подесување. Дали ова само пред празник на две недели и да ја остави па други сиромашни момче да се справи со последиците ... можеби не ...

Распоредување за систем како тоа треба да биде бавен. И покрај тоа што е релативно едноставно да се постави овој систем ќе влијае на целата своја канцеларија инфраструктура (и дигитални еден). Прво, наново на неколку машини во еден момент, следи сообраќајот во мрежата, како работник Силите се изврши на ден-за-ден основа. Можеби ќе треба да ја смени вашата работа конфигурација како одговор на вашите наоди.

Откако системот се населил со неколку машини (да речеме 10% од сите канцелариски машини, односно 5) води мрежа за мониторинг на сообраќај и домаќин машина performance. Следна репер повторно, сега треба да биде преработка 33% повеќе работни места од вашиот прв стандарди. Проверете тоа е така, или дека сте барем во оваа груба проценка. Ако не го испита она што се случува пред да се пресели на. Повторете го овој циклус додека не среќно имаат сите канцелариски машини работи, без убивање поединечни перформансите на машината или мелење вашата мрежа за да застој.

Во сите времиња задржи бенчмаркинг, дури и по сите распоредувања се прават. Проверете како нов код надградби влијае брзината на вашиот систем, проверете ги сите работници се за известување и обработка на работни места. Полека (многу бавно) прираст вашата работа конфигурација за да го добиете најдоброто од работници и мрежа.

Стоп!

Што ако сакате да го запрете вашето работници од трчање во одреден период? Тие се сите таму работи, регенерира, и се обидува од себе да обработува податоци како гладни инсекти. Одговорот може да изгледа очигледно, но нејзината вредност додавајќи само во случај нејзиниот занемарува. Едноставно ги менувате вашите обработка скрипта со излез (0) или да умре () или некоја друга изјава да го уништи вашиот обработка работа. Важна причина зошто ние секогаш се трудиме да се ажурира со најновите обработка сценариото пред да се кандидира!

Демонстрација систем

Со цел да се напише овој сет на кратко статии создадени многу мали мрежа за да се демонстрира технологии и методологии. Читам многу статии, вежби, и се користи разни алатки за подесување и да следат што се случува. Во никој случај не сум излегол и заситени цела канцеларија со сообраќај и ниту имав пристап на редовни членови на персоналот компјутер за да видите како домаќин перформанси беше погодена.

Мојот демонстрација систем беше многу скромно, навистина. Порано ми редовните десктоп постави како работа за контрола на серверот. На оваа имав инсталирано MySQL сервер инсталиран постави како господар во репликација, PHP , а и SVN поврзани преку Apache (за пристап преку работник В.М.).

Јас тогаш создаде работник CentOS машина на VirtualBox на 6-годишниот Windows XP лаптоп. Јас подесување на закажани задачи како што е наведено по копирање на В.М. кон машина и нека оди.

На виртуелната машина беше формирана со PHP, субверзија, и MySQL. Јас проверив на една гранка наречена "работник" од мојата работа контрола сервери складиштето и се сигурни дека тоа би можело да биде обновено користење на "svn update. Следна јас подесување MySQL како роб и проверени дека податоците се реплицира од MySQL на работа за контрола на серверот до работникот В.М.. По сево ова подесување баш сценариото и закажана работа.

Мојот обработка скрипта основа отиде по должината на линиите на овој (многу едноставно работи):

  • Читај во името поле
  • Смета на бројот на слични имиња во табела од извор на податоци се одржа на В.М.
  • Смета на бројот на имиња како погоре, но разделување името со празен простор (т.е. своето име, средината, презиме)
  • Повторено овој процес 1.000 пати

Секоја работа се околу 20 минути да се кандидира. Во еден момент ја отворив неколку копии на работникот В.М. на лаптоп Windows и го гледал работни места се штиклирани со секоја од работник IP адреси. Во овој момент јас, исто така, потврди дека репликација автоматски рестартиран.

Оставањето на лаптоп да неактивен резултираше со работник почнува да се процесот на работа од работа за контрола на серверот. Кога продолжување на користење лаптоп имаше задоцнување од околу 30-60 секунди, ова е фер временски период и вработените ќе треба да бидат свесни дека нивната машина може да пауза за кратко време, кога се враќа на машина. Поновите машини не може да има пауза од овој долг. Во корист на износот на обработка врши од страна на овие машини во текот на неактивен период ќе ги надминуваат повеќе од членови на персоналот да се чека на краток период (да речеме 1 минута) на пристигнувањето на нивните машини од утро (јас често чекаат подолго од тоа, за Windows Defender ажурирање да се земе место) под услов тие да се направи свесни за тоа (корисно време да го зграби утринско кафе!).

Генерално јас се чувствувам сигурен дека сум ја покажа технологии кои може да се користи за да се создаде таков систем. Јас покажаа дека таков систем функционира на (многу) мала скала и со уште некои експериментираат може да бидат намалени до користат ресурсите на машини за канцеларија. Ако не дојде до точка на тоа што ќе биде многу заинтересирани да знаат / се види кога некој друг го прави тоа.

Заклучоци / евалуација

Следниот очигледно чекор ќе биде да всушност во реалниот свет пример и да почне да распореди систем, како што тоа во рамките на една канцеларија на животната средина и да видиме што се случува. Поставување на бизнис да се заложат за тоа без трага вжештена компанија за да докаже на технологијата и ефикасноста може да биде малку тешко. Грид / Дистрибуирани компјутерски е многу популарен е некои кругови и има некои големи апликации (BIONC, SETI @ Home, Folding @ home, итн.) Јас не, сепак, се најде во помал обем и едноставен систем како овој во моите пребарувања што може да се одвива во рамките на една канцеларија на животната средина.

Јас создаде основа бесплатен систем за користење главно софтвер со отворен код и алатки достапни во речиси секоја канцеларија. На технологии се основа покажа и покажува да се изврши и работа како што се очекуваше. Се надевам дека имаат покажуваат дека со не многу работа и со еден многу едноставен подесување може да се распореди канцеларија мрежа компјутерски систем кој е моќен, евтини, а и скалабилни сите во исто време.

Откако систем е и работи речиси и да нема крај на количина на прилагодување и подобрувања може да се направи. На пример статистика / бенчмарк лесно може да се додаде покажува вредноста на таков систем секој ден. Нови машини може да се додаде брзо и лесно, како и кога ќе пристигнат со надградби на постојните хардвер зацврстување на вашата моќ на процесирање.

Се надевам дека сте уживале читањето на оваа серија на написи и ви даде храна за размислување на водење на канцеларија мрежа систем. Решението презентирани овде не мора да работат во сите ситуации, но треба да биде адаптибилен да ви овозможи да ја добиете вашата обработка на податоци се направи со користење на свој решение.

Ве молиме слободно да ме праќајте било какви коментари, корекции или подобрувања и јас ќе дадам се од себе да го задржи овој член ажурирани да се совпаѓаат.













Панорама Тема од Themocracy

8 посетители онлајн сега
5 гости, 3-ботови, 0 членови
Макс посетители денес: 12 во 00:14 UTC
Овој месец: 17 на 18-08-2011 06:54 UTC
Оваа година: 130 на 28-03-2011 22:40 UTC
Сите време: 130 на 28-03-2011 10:40 UTC