Biuro Tinklelis Kompiuterija naudojant virtualių aplinkų - 2 dalis
Įvadas
Aš dirbu bendrovėje, kurioje mes paleisti daug partijos darbo vietų perdirbimo milijonus įrašų duomenų kiekvieną dieną ir aš galvoju neseniai apie visas mašinas, kurios sėdi aplink kiekvieną dieną nieko nedaryti dėl kelių valandų. Ar ne ji gera, jei mes galime naudoti šiuos mechanizmus stiprinti apdorojimo galia mūsų sistemos? Šiuo dirbiniai rinkinys I'm going pažvelgti į galimą naudą įdarbinimo biuro tinklo , naudojant virtualised aplinkoje.
Be 1 dalyje daviau tinklelį sistemos ir technologijos I bus naudojamas taip pat aptarė kai kuriuos iš galimų priežasčių, kodėl Jūs norėtumėte sukurti biurą.
Darbo kontrolės
Jei ketinate būti paleistas darbo vietų po to, you're going to reikia tam tikru būdu juos valdyti. Jūsų darbas kontrolės sistema (į savo darbo serveryje) reikia labai gerai apgalvoti dar prieš bandant paleisti biuro tinklo. Taigi pirma, kas yra už darbo kontrolės sistemos uždaviniai:
- Išdalinkite darbo vietų prašymu darbuotojų
- Praneškite darbuotojų kokio tipo darbo vietų paleisti
- Sekti vietų
- Užtikrinti, kad darbo vietų yra tik paleisti kartą
- Pateikite darbo duomenų darbuotojams, arba bent pasakykite jiems, kur gauti ji
Sistema taip pat turi būti galima pratęsti, tirpalas, kuris tinka dabar vienu atveju gali būti pratęstas skaičiuoti kelių tipų darbo vietų, kaip verslo mato verta tinklelį tirpalo. Pavyzdžiui, darbo vietų gali gauti prioritetus, daugiau kaip vieną darbą tipas gali būti (ty keli kodas bazes), galų gale jūs net gali paleisti keletą skirtingų darbuotojas mašinos, yra optimizuotas kiekvienai darbo tipas (nors tai nėra tolti nuo "bendro darbuotojas "idėja). Visada stenkitės galvoti apie ateitį, kai sistemų kūrimo, trumpalaikių vizija gali sukelti ilgalaikius nusivylimas ir padidėjo vystymosi metu.
Darbo Serveris
Mes ketiname reikia kažkur kontroliuoti mūsų darbo vietas, tai turėtų būti tik sistemai savo tinklelį kad turi fiksuotą Resource Locator, būti, kad IP adresą, kompiuterio vardą, adresą (naudojant vidinio DNS) ir tt Taip yra todėl, darbuotojai turi žinoti, kur ieškoti darbo, darbuotojams reikia susirasti darbą kontrolės sistemos (ne darbo kontrolės sistema surasti darbuotojų).
Darbas serveris pats tikrai ne sudėtingas uždavinys (pagrindiniame sistema Kažkaip), reikia laikyti darbo vietų sąrašą, ranką darbo vietas, gauti rezultatus, o vėliau juos laikyti, kad vėliau. Kaip šių dalių (pavyzdžiui, "ranką darbo vietų) yra apibrėžtos, gali būti labai paprastas. Vėliau mes galime išplėsti sistemą įtraukiant administravimo sąsaja pridėti, redaguoti, trinti, sustabdyti darbus, bet tai nesusiję su šios užduoties.
Nėra jokio pagrindo tada, kad jūsų darbas serveris negalėjo būti virtualios mašinos veikia per savo pagrindinę tvarkymo serveryje, jeigu ji neišteka per daug išteklių iš jo. Darbo serverio Tačiau tai reikia didelio prieinamumo, jei jis krinta ant penktadienio vakaro jūs ketinate prarasti visą savaitgalį perdirbimo, potencialiai jums kainuos savaičių verta perdirbimo metu pora (lyginant su jūsų pagrindinė perdirbimo serverio tik) . Jei norite, galite apsvarstyti galimybę savo darbo serveryje apkrova subalansuotą aplinką didelio prieinamumo.
Pagrindinis nustatymas
Pagrindinis įdiegimo mūsų darbo serverio sudarys ką I'm calling vienas iš mano Limp serverių (tai yra Li Nux m ySql P AG). Kodas veikia Thea darbuotojams bus faktiškai dirba, kas darbo vietų ji gali veikti sąveikaudama su su darbo kontrolės sistemos duomenų bazes. Vėliau mes galime sukurti interneto paslaugų ir faktiškai ranką darbo vietų, o ne darbuotojų padaryti sunkų darbą sau, bet dabar mes ir toliau naudoti KISS principas (keep it simple, stupid!).
Taigi, leidžia sukurti tris mySQL lentelių spręsti darbo vietų. Tai bus "darbo", "jobRecords", ir "jobResults".
Čia aš naudoju SQL Buddy labai mažai alternatyva phpMyAdmin tik todėl, kad jos lengviau įdiegti Centos (kitiems žiūrėkite: 10 Didžiosios alternatyvų phpMyAdmin )
Ši lentelė sudaryta iš 5 paprasti srityse,
- numeris: identifikuoti darbo
- pavadinimas: Ar galima klientas nuoroda, ar identifikatorius skaičių kitų
- Statusas: Jūs turite žinoti, kur darbas yra, pavyzdžiui,
- 0: Nepradėta
- 1: įlaipinami
- 2: Baigta
- started_by: Kas pradėjo daryti darbą? Tai nėra visiškai būtini, tačiau yra malonu turėti. Norėčiau pasiūlyti stebėjimo darbuotojų savo IP adresą jūsų tinklo
- started_at: Kada darbuotojas pradeda dirbti? Stebėdami darbo vietų, kurios dar nėra baigti per X laiką mes žinome, mes turime pasiimti darbą dar kartą ir pradėkite tvarkyti kito darbuotojo. Darbuotojų galėtų sustabdyti tvarkymo / atsijungti bet dėl daugelio priežasčių, nutrūkus energijos tiekimui, avarijos, tinklo nuostolių, ir tt
Tai lengva, kaip ši lentelė gali būti pratęstas su keletu papildomų laukų, kad būtų galima statistikos sekimo, apdaila laiko stulpelį pamatysite, kiek laiko darbo ėmėsi, skaitliukas pamatyti, kiek darbuotojų pakėlė darbas (žinoma, tai turi tendenciją 1), darbo prioritetas, sąrašas gali tęstis ir toliau. Sudėtingesnių darbo scenarijų būtų galima nurodyti, kiek atminties darbuotojas turės prieigą (ir todėl naudokite tik tinkamus darbuotojus), ar net kokio tipo darbuotojas būtų reikalaujama.
Leidžia pridėti keletą pavyzdžiui darbo vietų:
Tolesnėje lentelėje vėl yra gana paprasta suprasti, tai yra mūsų darbo įrašus. Jie yra susiję su pagrindinių darbo vietų lentelės skiltyje "jobs_id". Sudaro šios lentelės labai daug priklauso nuo duomenų, kad jums reikia pateikti savo darbuotojų, leidžia padaryti labai paprastą pavyzdį, kur mes keturios skiltys:
- numeris: ID įrašo
- pavadinimas: asmens vardas
- adresas: Asmuo adresas
- jobs_id: darbas ID, kad šis įrašas yra susijęs su
Trečioji ir galutinė lentelė susideda iš rezultatų lentelės, ji panašiai sudaryti iki mūsų įrašus lentelėje ir su kai kurių stulpelių to galėtų būti dalis įrašai lentelėje:
- job_record_id: Nuoroda rezultatas darbo stalo
- rezultatas: rezultatas duomenys
... Ir tai viskas, ko jums reikia darbo kontrolė! (Nors labai bazinio lygio) Mano atveju aš atkreipė dėmesį į kitoje lentelėje, kur mano duomenų apdorojimui buvo įsikūrusi, tačiau tai gali taip pat lengvai buvo failą, parametrų paleisti modeliavimas kodas, you name it.
Pasirinkus darbą
Kaip nurodyta anksčiau, darbuotojai atliks savo darbą valdymo mumis dabar, todėl visi turime tikrai yra susirasti darbą, kurį reikia perdirbti ir gauti informaciją. Kaip mes tai darome? Na pasiimti mūsų darbas atrankos kriterijus ir ieškotis darbo, SQL aš taip:
- Imtis bet kokių darbų, kurie nėra pažymėti kaip išsamūs, bet iš mūsų darbuotojas ir iš naujo jas (pakaitalas __ME__ su identifikatoriumi, lengviausia būtų IP adresas):
UPDATE `darbo` SET `status` = 0 ", jei" statusas "= 1 IR" started_by `= __ME__; - Naudojant mūsų darbas atrankos kriterijus, pasirinkite darbo ir pasakyti kontrolės sistemą, kad šis darbuotojas yra susijusios su IT:
UPDATE `darbo` SET `status` = 1, "started_by` = __ME__, "started_at` = NOW () WHERE `status` = 0 arba (`Status` = 1 IR "started_at"> DATE_SUB (NOW (), intervalas X VALANDĄ)) ORDER BY `id` ASC;
Iki greiferiniai darbo vietų, kurios davė rezultatus "X laiko mes užtikriname, kad visos darbo vietos būtų paleisti į darbuotojo kritimo ar ketinate AWOL atveju.
- Kitas patraukti vietų detales po įrašo save:
SELECT * FROM `darbo` WHERE `started_by` = __ME__ RIBINĖS 1; SELECT * FROM `job_records` WHERE `id` = __JOBID__;
Baigus darbą mes įterpti mūsų rezultatas įrašus ir ženklas, kaip visą darbą. Prisiminti, kaip darbo vietų gali sustabdyti / atnaujinti bet kuriuo metu būtų galima šiek tiek savo scenarijų tvirtumą. Gali būti, kad užduotis sustabdo įpusėjęs atnaujinant darbo kontrolės sistema, todėl tikrinti įrašų darbą, skaičių ir rezultatus, išsaugoti atgal į darbo kontrolės sistema būtų protingas žingsnis skaičių.
Be to, nors tai parodo, kaip darbo vietų gali būti atrenkami ir valdoma iš SQL-užklausa rėmo jums tikrai turėtų būti atsiribotų savo darbo kontrolė, kad jei nuspręsite pereiti prie naudodami interneto paslaugą, failo grindžiamą sistemą, XML , ar bet kurios kitos sistemų skaičių jis neturi įtakos pirmiau kodą.
Darbo konfigūravimas
Kitas aspektas, į kurį reikia aptarti, yra užduoties dydį ir konfigūraciją. Žaisdami su darbo konfigūracija galime streikuoti puikus balansas tarp greičio, procesas replikacija, ir patikimumą. Imtis pora OFA scenarijus:
- Darbas imtis 1 dienos kiekvienas skaičiuoti: Tai reiškia, kad jūsų darbuotojai turi 15 dienų procesą kiekvieną užduotį (prisimenate 10% galios 2/3rds laiku). Tai tikrai nėra protingas konfigūracija, savo darbą dydis yra per didelis! Tai būtų bent dvigubai laiko gauti darbą perdirbama, turėtų pradinį darbuotojas eiti AWOL (laiko pasiimti, kad jis nebuvo grąžintas rezultatas plius perdirbimo metu). Be idealiai norite turėti mažiausiai vieną pilną darbo lengvai patikrintos laikotarpio pabaigoje kiekvienos ilgai nenaudojamas, tokiu būdu jūs nuolat darbo pažymint daugiau, o blogiausiu atveju darbo imsis dvi dienas procesas turėtų visų pirma pereiti trūksta.
- Darbas imtis 1 minutę skaičiuoti: Tai reiškia, kad jūsų darbuotojai gali užtrukti apie 15 minučių paleisti kiekvieną užduotį. Nors tai gali iš pradžių atrodyti idealus, jūs gaunate papildomus darbus apdorojimo metu pietų metu, kavos pertraukos, posėdžiai ir tt šis scenarijus kelia įtampą kitoms sritims Jūsų sistemą ir pristato savo pačių problemas. Pavyzdžiui, pirma jūsų setup / apdorojimo laiko santykis yra ketinate vykti, nustatančio teisę, todėl praranda sistemos veiksmingumą. Jūsų tinklo bus nuolat transliacijos informacijos apie darbo vietas į įvairias darbuotojų nelinksma darbuotojai, kurie žąsis savo kasdienį darbą. Jūs taip pat ketiname labiau apkrauti jūsų darbas tvarkymo serveryje, nes ji turi išdalyti daug ir daug mažų gabaliukų darbą reguliariai. Galiausiai, šioje situacijoje, jei jūsų darbas serveris krinta jūs ketinate sukurti milžinišką atgal žurnalą nebaigtus darbus kadangi didesnis darbo sąlygos gali toliau perdirbti palaimingai nežinoti, kad darbo serveris patiria sunkumų.
Iš tikrųjų nebus viena ideali konfigūracijos jūsų tinklo konfigūracija, daug kas priklauso nuo turimų išteklių, rūšys darbo, darbo apsisukimo laikas reikalavimai, tinklo pajėgumą, ir taip toliau. Tačiau kai gairės bus:
- Dydis darbo vietų taip, kad kiekvienas darbuotojas gali gauti per mažiausiai 3-4 vietų 15 valandų (ilgiausias tikėtina prastovų laikotarpis)
- Žaisti su užduoties dydį taip, kad diegimo metu tampa gana nereikšminga, palyginti su perdirbimo metu (turint omenyje aukščiau punktas).
- Jei darbo nėra užbaigti dvigubą kiek laiko (gal mažiau) jūs tikitės jį užbaigti jį manyti, kad jos dingo AWOL ir pradėti ją apdoroti su kitu darbuotoju. Tai reiškia, jums gali tekti laukti net iki trijų kartų normalus ilgis darbą, kad jis visiškai (galbūt ilgiau, jei po darbo nepavyks). Jei norite, galite sutrumpinti šį laikotarpį, tačiau būkite atsargūs, siekiant sumažinti jį per daug, kaip jūs gali pradėti kartoti perdirbimo užduotis reguliariai.
- Darbas turėtų būti nepriklausomos nuo išorės reikalavimus, kiek įmanoma. Darbo serveris, pavyzdžiui, turėtų būti susisiekta pradžios ir pabaigos kiekvieną darbą.
- Negalima įsigertų į savo tinklo, tai turės dvi neigiamą poveikį, jūsų dienos personalas suras naudojantis tinklu, varginantis ir problemos gali būti patyręs su jungtimis laiko iš problemų, kad bus tik blogiau, kaip jūs masto savo tinklelį.
- Užtikrinti darbo vietų gali būti rodomi jūsų darbuotojams. Jei darbai bus per atminties intensyvus ar diske intensyvaus darbo vietų bus pradėti nutraukiu ir vienintelis dalykas, jūs pastebėsite, yra visų darbo vietų skaičius apdorojami jokios realios priežasties, kodėl lašas.
Siunčiamas rezultatai Darbas
Pateikdamos darbo rezultatų, labai svarbu patikrinti, kad rezultatai nebuvo pateikti kito darbuotojo, ypač jei dabartinės darbuotojas buvo ramybės tam tikrą laiką.
Kai rezultatai pateikiami užtikrinti, kad rezultatų skaičius rungtynių įrašų skaičius per darbą.
Kaip nurodyta anksčiau, ir negali būti daugiau kaip pabrėžė, statyti gedimui atsparūs į darbo paieškos ir rezultatų pateikimo. Darbuotojai gali (ir greičiausiai bus) pereiti į sustabdyti režimas nepalankiausią kartų ir tai turi patekti į aprėpiamą teritoriją. Taip pat dar kartą atsiribotų atiduoti savo rezultatų pateikimo padės patenkinti būsimus pokyčius savo darbo kontrolės sistema daug lengviau spręsti.
Santrauka
Šiuo section mes žiūrime į tai, kas darbo kontrolė serverio reikia padaryti ir kaip gauti labai pagrindinius sukurta sistema. Aptarėme, kaip gauti iš kontrolės sistemos darbą ir, kaip geriausiai konfigūruoti darbo vietų gauti dauguma mūsų savo biuro tinklo sistemos. Norėdami baigti, dalis arba du pateikdamos rezultatus atgal į darbo kontrolė serveris buvo pristatytas.
- Darbo kontrolė serverių valdo darbo vietų ir užtikrinama, kad visi darbo vienetų yra baigtas
- Atsiribotų savo darbą select / rezultatų pateikimo galime pakeisti kontrolės serverio technologija be didelių problemų
- Nustatykite savo darbo vietų, siekiant užtikrinti, kad jie paleisti greitai ir veiksmingai nesukeliant pernelyg didelio spaudimo dėl savo tinklo infrastruktūrą, ir nedubliuojant perdirbimo užduotis reguliariai.
- Užtikrinti, kad jums sukurti gedimui atsparūs ir klaidos checking į rutiną, darbuotojai gali sustabdyti ir atnaujinti ir nepalankiausią kartų. Nepamirškite pasitikrinti, ar rezultatai jau buvo pateiktas kito darbuotojo.
Kitas laikas
Be 3 dalyje mes sukursime mūsų virtualios apdorojimo mašinos ir įsteigti mūsų langų mašinų tapti prastovos darbo dieną dirbantys darbuotojai.



















































Heya! Geras sąvoka, tačiau tai galėtų tikrai padaryti darbą?