Introduzzjoni
I xogħol fil-kumpanija fejn aħna run impjiegi lott ħafna ipproċessar miljuni ta 'rekords ta' data kull jum u stajt ġiet ħsieb reċentement dwar l-magni li tiltaqa madwar kull jum tagħmel xejn għal bosta sigħat. Mhux se jkun tajjeb jekk nistgħu jużaw dawk il-magni li jsaħħu l-qawwa l-ipproċessar tas-sistemi tagħna? F'dan sett ta 'oġġetti jien ser tħares lejn l-benefiċċji potenzjali għall-impjieg ta' l-uffiċċju grilja użu ambjenti virtualised.
Fil -Parti 1 I taw ħarsa ġenerali tas-sistema u t-teknoloġiji I se tkun qed tuża kif ukoll diskuss wħud mir-raġunijiet potenzjali għala inti tixtieq li joħolqu netwerk uffiċċju.
Kontroll tax-Xogħol
Jekk int ser tkun qed taħdem impjiegi allura int se jeħtieġu xi ftit mod biex imexxuhom. Impjieg kontroll tiegħek sistema (fuq is-server xogħol tiegħek) jeħtieġ li jiġi verament maħsub sew qabel saħansitra jippruvaw imexxu 'grid uffiċċju. Allura l-ewwelnett, liema huma l-kompiti għal sistema ta 'kontroll tax-xogħol:
- Idejn impjiegi fuq talba mill-ħaddiema
- Għid liema tip ta 'ħaddiema impjiegi jiddekorri
- Track-impjiegi
- Tiżgura li l-impjiegi huma biss run darba
- Ipprovdi data xogħol għall-ħaddiema, jew għall-inqas jgħidulhom fejn biex tiksbu
Is-sistema jeħtieġ ukoll li jkun estensibbli, soluzzjoni li taħdem għal issa f'każ wieħed jista 'jiġi estiż biex imexxu diversi tipi ta' impjiegi bħala l-kummerċ jara l-valur f'soluzzjoni grid. Per eżempju, l-impjiegi jistgħu jiksbu prijoritajiet, it-tip tax-xogħol aktar minn jista 'jeżisti (bażijiet jiġifieri kodiċi diversi), eventwalment inti tista' anki run diversi magni differenti ħaddiem li huma ottimizzati għal kull tip ta 'xogħol (għalkemm dan ma jitbiegħed mill-ħaddiem "ġeneriċi ) idea ". Dejjem ipprova li jaħsbu dwar il-futur meta iżvilupp ta 'sistemi, viżjoni għal żmien qasir jistgħu jwasslu għal frustrazzjoni itwal u l-ħin iżvilupp akbar.
Server Job
Aħna ser bżonn x'imkien biex jikkontrollaw l-impjiegi tagħna minn, dan għandu jkun l-unika sistema fil-grid tiegħek li għandu riżorsa locator fiss, tkun dik l-indirizz IP, l-isem ospitanti, ikteb (bl-użu intern DNS), eċċ Dan huwa minħabba il-ħaddiema għandhom bżonn ikunu jafu fejn tfittex għal impjiegi, il-ħaddiema bżonn issib l-sistema ta 'kontroll tax-xogħol (mhux is-sistema ta' kontroll tax-xogħol isibu l-ħaddiema).
Il-server xogħol innifsu ma verament ikollhom kompitu kkumplikata (f'sistema bażika xorta), jeħtieġ li taħżen lista ta 'impjiegi, idejn l-impjiegi, jirċievi r-riżultati, u sussegwentement jaħżinhom għal irkupru aktar tard. Kif dawn il-partijiet ("idejn impjiegi" bħal) huma definiti jistgħu jkunu ħafna bażiku. Aktar tard nistgħu jestendu s-sistema li tinkludi interface amministrazzjoni li jżidu, teditja, iħassru, jissospendu l-impjiegi iżda dan huwa lil hinn minn dan l-eżerċizzju.
M'hemm l-ebda raġuni allura li server xogħol tiegħek ma jista 'jkun magna virtwali tmexxija fi ħdan server tiegħek ipproċessar prinċipali sakemm dan ma drain wisq riżorsi minnha. Il-server xogħol madankollu ma bżonn disponibbiltà għolja, jekk din tmur isfel fuq Ġimgħa filgħaxija int ser jitilfu weekend sħiħ ta 'l-ipproċessar, potenzjalment inti tiswa ftit ġimgħat jiswew ta' ħin għall-ipproċessar (meta mqabbla ma 'prinċipali tiegħek ipproċessar server biss) . Inti tista 'tixtieq li jikkunsidraw tqegħid server xogħol tiegħek dwar ambjent bbilanċjat għall-disponibbiltà għolja.
Bażiku Setup
Il-setup bażiku għall-server xogħol tagħna se tikkonsisti dak li jien sejħa 1 ta 'servers limp tiegħi (jiġifieri Nux Li, m ySql, P HP). Il-kodiċi li jaħdem fuq ħaddiema Thea se attwalment jaħdmu barra dak l-impjiegi tista 'taħdem permezz ta' interazzjoni ma 'xogħol ma' databases tas-sistema ta 'kontroll. Aktar tard nistgħu toħloq servizz web u fil-fatt naħa l-impjiegi aktar milli jkollhom l-ħaddiema jagħmlu x-xogħol iebes infushom, iżda għal issa aħna ser ikomplu jużaw il- prinċipju KISS (Żommha sempliċi, Stupid!).
Allura, tikri joħolqu tliet MySQL tabelli biex jittrattaw l-impjiegi. Dawn se jkunu `impjiegi ',` jobRecords', u `jobResults '.
Hawnhekk jien użu SQL Buddy alternattiva ftit kbir biex phpMyAdmin biss minħabba eħfef tagħha li jinstallaw fuq CentOS (għal oħrajn ara: 10 alternattivi Gran lill phpMyAdmin )
Din it-tabella tal-5 jikkonsisti oqsma sempliċi,
- id: Unikament tidentifika l-impjieg
- Isem: Jista 'jkun referenza klijent, jew kwalunkwe numru ta' identifikaturi oħrajn
- Status: Inti għandek bżonn tkun taf fejn l-impjieg hija, eż
- 0: Mhux beda
- 1: Qabad
- 2: Completed
- started_by: Min bdiet tagħmel l-impjieg? Dan mhux kollox meħtieġ iżda huwa sbieħ li jkollhom. I d jissuġġerixxu ħaddiema traċċar mill-indirizz IP tagħhom fuq network tiegħek
- started_at: Meta ma l-ħaddiem jibda l-impjieg? Minn tracking impjiegi li ma temmewx fl-ammont X ta 'ħin nafu li għandna bżonn li jtellgħu l-impjieg għal darb'oħra u tibda ipproċessar minn ħaddiem. Ħaddiema tista 'twaqqaf l-ipproċessar / tmur offline għal kull numru ta' raġunijiet, nuqqas ta 'enerġija, crash, telf tan-netwerk, eċċ
Huwa faċli kif din it-tabella jista 'jiġi estiż bil-oqsma addizzjonali ftit biex jippermettu għall-istatistika traċċar, kolonna ħin finitura biex tara kemm l-impjieg ħa, kontro biex tara kemm ħaddiema telgħet l-impjieg (ovvjament dan jeħtieġ li t-tendenza li 1), il-prijorità tax-xogħol, il-lista tista 'tmur fuq u fuq. Fil-xenarji ta 'xogħol aktar kumplessi ikun possibbli li wieħed jispeċifika kemm-memorja tal-ħaddiem jeħtieġu aċċess għal (u għalhekk jużaw biss ħaddiema xierqa), jew saħansitra liema tip ta' ħaddiem tkun meħtieġa.
Tikri żid ftit impjiegi eżempju ftit:
It-tabella li jmiss darb'oħra huwa pjuttost faċli biex tifhimhom, dawn huma r-rekords tax-xogħol tagħna. Huma marbuta mal-tabella impjiegi prinċipali permezz ta 'kolonna' jobs_id '. Il-għamla ta 'din it-tabella ħafna jiddependi fuq id-data li għandek bżonn biex jipprovdu lill-ħaddiema tiegħek, tikri jagħmlu eżempju sempliċi ħafna fejn għandna erba' kolonni:
- id: ID tar-rekord
- Isem: Isem Persuna ta
- : Indirizz Persuna ta
- jobs_id: L-ID xogħol li dan ir-rekord huwa marbut ma '
It-tabella 3 u finali magħmul minn tabella riżultati, hija għandha l-istess jagħmlu bħala tabella rekords tagħna, u biż-żieda ta 'xi kolonni tista' tkun parti tat-tabella rekords:
- job_record_id: Link r-riżultat għall-mejda tax-xogħol
- riżultat: Id-data riżultat
... U li kollox għandek bżonn għall-kontroll tax-xogħol! (Għalkemm f'livell bażika ħafna) Fil-każ tiegħi jien osservat għal ieħor tabella fejn id-data tiegħi għall-proċess kien jinsab, iżda dan jista daqstant faċilment ġew fajl, il-parametri biex imexxu kodiċi simulazzjoni, inti isem li bih.
Għażla ta 'xogħol
Kif intqal qabel, il-ħaddiema se jagħmlu ġestjoni xogħol tagħna għalina għal issa, hekk kollha għandna bżonn verament tagħmel huwa isibu impjieg li jeħtieġ l-ipproċessar u jiksbu l-informazzjoni. Kif nagħmlu dan? Ukoll pick kriterji tagħna għażla ta 'xogħol u tfittex għal impjiegi, fil SQL I ma' dan li ġej:
- Ħu xi impjiegi li m'humiex immarkati bħala komplet iżda mill-ħaddiema tagħna u reset minnhom (sostitut ME__ __ b'identifikatur, eħfef ikun indirizz IP):
AĠĠORNAMENT `impjiegi` SET `istatus` = 0 fejn `istatus` = 1 U `started_by` = __ ME__;
- Użu ta 'kriterji ta' għażla tagħna ta 'xogħol, tagħżel xogħol u tell-sistema ta' kontroll li dan il-ħaddiem qed jinnegozjaw:
AĠĠORNAMENT `impjiegi` SET `istatus` = 1, `started_by` = __ ME__, 'started_at `= ISSA () FEJN` istatus `= 0 jew
(`Istatus` = 1 U `started_at`> DATE_SUB (ISSA (), intervall X siegħa)) ORDNI MILL `id ASC`;
Billi l-impjiegi ħtif li ma ritornati riżultati fl-ammont X ta 'żmien niżguraw li l-impjiegi kollha huma mmexxija fil-każ ta' ħaddiem jiġġarrfu jew sejrin AWOL.
- Sussegwentement grab-dettalji impjiegi segwiti mill-rekords nfushom:
TAGĦŻEL * MILL `impjiegi` FEJN `started_by` = __ ME__ LIMITU 1;
TAGĦŻEL * MILL `job_records` FEJN `id` = __ JOBID__;
Mat-tlestija tal-impjieg aħna daħħal rekords riżultat tagħna u mmarka l-impjieg bħala komplet. Ftakar bħala l-impjiegi tista 'tissospendi / jerġa' fi kwalunkwe ħin titħalla ċerta robustezza b'kitba tiegħek. Jista 'jkun li l-kompitu tissospendi nofs triq permezz aġġornament tal-sistema ta' kontroll tax-xogħol, sabiex iċċekkjar tal-numru ta 'rekords fl-impjieg u n-numru ta' riżultati salvati lura lejn sistema ta 'kontroll ix-xogħol ser tkun pass għaqli.
Barra minn hekk, filwaqt li dan juri kif l-impjiegi jistgħu jiġu magħżula u mmexxija minn qafas SQL-mistoqsija inti għandek verament tkun abstracting kontroll xogħol tiegħek hekk li jekk inti tiddeċiedi li jaqilbu għal użu ta 'servizz web, sistema fajl bbażata, XML , jew kull numru ta 'sistemi mhux se jaffettwa l-kodiċi hawn fuq.
Konfigurazzjoni Job
L-aspett li wieħed għandu jikkonsidra huwa daqs xogħol u l-konfigurazzjoni. Permezz playing mal-konfigurazzjoni xogħol nistgħu ssib bilanċ eċċellenti bejn il-veloċità, replikazzjoni proċess, u affidabilità. Ħu xenarji ofa koppja:
- Impjiegi tieħu 1 jum kull jiddekorri: Dan ifisser li l-ħaddiema tiegħek bżonn 15-il jum biex jipproċessaw kull biċċa xogħol (ftakar 10% tal-enerġija għall 2/3rds tal-ħin). Dan huwa b'mod ċar mhix maħsuba konfigurazzjoni għaqli, id-daqs tax-xogħol tiegħek huwa mod wisq kbir! Hija se tieħu mill-inqas doppju tal-ħin li jsibu xogħol ipproċessat għandu l-ħaddiem inizjali tmur AWOL (żmien li pick up li huwa ma rritornax riżultat flimkien ma 'ħin riproċessar). Fi ideali youd jkollu mill-inqas impjieg full faċilment approvati sal-aħħar ta 'kull perjodu idle twil, il-mod inti żżomm l-impjiegi timmarka fuq u fl-agħar każ xogħol se jieħu jumejn biex il-proċess għandu l-ewwel jisparixxi.
- Impjiegi jieħu 1 minuta biex imexxu: Dan ifisser li l-ħaddiema tiegħek jieħu madwar 15 minuta biex imexxu kull biċċa xogħol. Filwaqt li dan jista 'jidher fil-bidu ideali, inti jiksbu l-ipproċessar xogħol addizzjonali matul il-ħin ikla, pawżi kafè, laqgħat, eċċ dan ix-xenarju tpoġġi pressjoni fuq oqsma oħra tas-sistema tiegħek u tintroduċi problemi tagħha stess. Per eżempju, l-ewwelnett proporzjon tiegħek ħin setup / ipproċessar huwa se jmorru dritt isfel, għalhekk jitilfu l-effiċjenza tas-sistema. Network tiegħek se tkun kontinwament streaming inkarigati bit-tagħrif lill-persunal ħaddiema varji frustranti li huma dong ġurnata tagħhom għax-xogħol kuljum. Inti wkoll se jagħmlu pressjoni aktar fuq server tiegħek proċessar ta 'xogħol minħabba li għandu dixx lottijiet u lottijiet ta' biċċiet żgħar ta 'xogħol fuq bażi regolari. Fl-aħħar nett, f'din is-sitwazzjoni jekk server xogħol tiegħek jinżel int ser toħloq reġistru lura kbir ta 'xogħol inkompleti billi impjiegi ikbar jista tad kompliet ipproċessar blissfully konxji li s-server xogħol kienet qed tesperjenza diffikultajiet.
Fir-realtà se jkun hemm ebda konfigurazzjoni ideali 1 għall-setup grilja tiegħek, ħafna jiddependi fuq ir-riżorsi disponibbli, tipi ta 'xogħol, rekwiżiti tax-xogħol ħin tibdil, kapaċità tan-netwerk, u l-bqija. Madankollu xi linji gwida tkun:
- Impjiegi Daqs sabiex kull ħaddiem tista 'tikseb permezz inqas impjiegi 3-4 fil-perjodu ta' 15-il siegħa (l-itwal perjodu probabbli ħin wieqaf)
- Play mad-daqs impjieg sabiex dak iż-żmien setup isir pjuttost insinifikanti meta mqabbla mal-ħin għall-ipproċessar (b'kont meħud tal-punt hawn fuq).
- Jekk ix-xogħol ma tkunx kompluta fir-doppju tal-ammont ta 'ħin (forsi inqas) inti tistenna li jitlesta jassumi li AWOL tagħha marret u tibda l-ipproċessar ma ħaddiem ieħor. Dan ifisser li inti jista 'jkollok tistenna sa tliet darbiet it-tul normali ta' xogħol għal li jlesti (possibilment itwal jekk l-impjieg sussegwenti jonqos). Inti tista 'tixtieq li tnaqqas dan iż-żmien, imma jkun attent li ma jitnaqqas wisq kif inti tista' tibda tidduplika kompiti ipproċessar fuq bażi regolari.
- Impjiegi għandhom ikunu indipendenti ta 'rekwiżiti barra kemm jista' jkun. Il-server xogħol, per eżempju, għandhom biss jiġu kkuntattjati fil-bidu u tmiem ta 'kull impjieg.
- Ma saturat network tiegħek, dan se jkollu żewġ effetti negattivi, il-persunal bi nhar tiegħek se ssib użu ta 'network frustranti u l-problemi jistgħu jiġu esperjenzati bil-konnessjonijiet timing out problema li se jkomplu jsiru biss agħar kif inti iskala grilja tiegħek.
- Jiżguraw l-impjiegi tista 'taħdem fuq il-ħaddiema tiegħek. Jekk l-impjiegi sar wisq memorja impjiegi intensivi jew disk ispazju intensiv se tibda jabortja u l-unika ħaġa tkun taf Avviż huwa tnaqqis fin-numru ta 'impjiegi ipproċessati bl-ebda raġuni vera għaliex.
Riżultati Sottomissjoni ta 'Job
Meta jissottomettu r-riżultati ta 'impjieg huwa importanti ħafna li tivverifika li r-riżultati ma ġewx sottomessi minn xi ħaddiem, speċjalment jekk il-ħaddiem attwali kien rieqed għal xi żmien.
Meta r-riżultati jiġu ppreżentati jiżgura li n-numru ta 'riżultati jaqbel man-numru ta' rekords fi ħdan l-impjieg.
Kif intqal qabel, u ma tistax tkun enfasizzata, jibnu tolleranza ta 'difetti fis-irkupru xogħol u r-riżultati sottomissjoni. Il-ħaddiema jistgħu (u probabbilment se) tispeċifika l-mod tissospendi l-aktar inkonvenjenti ta 'drabi u dan jeħtieġ li jiġu provduti. Ukoll għal darb'oħra abstracting bogħod riżultati sottomissjoni tiegħek se jgħin jilqgħu għall-bidliet futuri xogħol kontroll tiegħek sistema ħafna aktar faċli biex jittrattaw.
Sommarju
F'dan section ħarisna lejn dak server kontroll xogħol teħtieġ li tagħmel u kif tikseb sistema bażika ħafna stabbilit. Iddiskutejna kif tkun irkuprata xogħol mis-sistema ta 'kontroll u kif l-aħjar biex jiġi kkonfigurat l-impjiegi biex jiksbu l-aktar tagħna ta' sistema tiegħek grilja uffiċċju. Biex jintemm, il-paragrafu jew tnejn fuq sottomessi riżultati lura lis-server kontroll impjieg kien ippreżentat.
- A server kontroll xogħol tamministra l-impjiegi u jiżgura li l-unitajiet tax-xogħol huma kompletati
- Billi abstracting xogħol tiegħek tagħżel / riżultati sottomissjoni nistgħu nbiddlu l-teknoloġija tas-server kontroll mingħajr problemi ħafna
- Kkonfigurat l-impjiegi tiegħek biex tiżgura li dawn huma mmexxija malajr u b'mod effiċjenti mingħajr tqegħid wisq pressjoni fuq l-infrastruttura tan-netwerk tiegħek, u mingħajr ma jiddupplikaw kompiti ipproċessar fuq bażi regolari.
- Jiżguraw li inti tibni tolleranza ta 'difetti u checking żball fis rutini tiegħek, il-ħaddiema tista' tissospendi u terġa 'tibda u l-aktar inkonvenjenti ta' drabi. Ftakar li tikkontrolla jekk ir-riżultati jkunu diġà ġew sottomessi minn ħaddiem ieħor.
Li jmiss ħin
Fil -parti 3 aħna ser joħolqu magna tagħna ipproċessar virtwali u twaqqaf magni twieqi tagħna biex issir idle-time.