Office Grid Computing kasutades virtuaalses keskkonnas - Osa 4
Sissejuhatus
Töötan ettevõttes, kus võtame palju partii töökohti töötlemise miljoneid plaate andmete iga päev ja ma olen mõelnud viimasel ajal umbes kõik masinad mis istuvad iga päev midagi mitu tundi. Kas poleks hea, kui saaksime kasutada neid masinaid toetada töötlemise võimsus on meie süsteemi? Selle komplekti esemete ma lähen vaatama potentsiaalsete tulude tööd kontoris võrku kasutades virtualised keskkond.
Aastal osa 3 lõime meie virtuaalne töötlemise masin ja luua aknad masinad saada idle tööajaga töötajaid.
Töötab hiljemalt kood
Paratamatult pärast luua oma töötajate äriloogika muutub, vead on leitud, kiirem tõhusam koodi valmistatakse jättes oma töötajad istusid ümber töötlevad andmeid kasutades vana haisev kood . Kuidas siis me tagada, et me alati kasutada uusimaid ja parimaid versioon meie töötlemise skriptid?
On mõned väga lihtne lihtsal viisil me võiksime seda teha, trikk on aga see, et vähendada töötlemise võimsus ja võrguliikluse selle saavutamisel. Võimaldab alustada lihtsam lahendusi ja parandada seda aeglaselt paar iteratsiooni.
1. meetod oleks lihtsalt ühendada oma töö kontrolli server (via samba, FTP, vms) ja tõmmake alla uusim versioon koodi. Mitte väga tõhus, kuid teeme tööd. Võimaldab parandada, et veidi, kuidas on luua rsync skripti ja kasutate, et iga kord mitte? Teise kuidas panna meie viimast töötlemist skripti õõnestamises end välja koodi alguses ja siis lihtsalt ajakohastades meie koodi iga run ( svn uuendus )?
Lõpuks saime lõpuks bash script (kutsutud cron iga 10 minuti järel), mis näeb välja nii lihtne kui see:
#! / Bin / sh kui ps ax | grep-v grep | grep php > / dev / null siis echo "Töö on praegu menetlemise, exit" teine echo "Töö ei tööta, alusta siit" cd / path / to / töö / koopia svn uuendus php yourJobProcessingScript.php fi
Nüüd saame olla kindlad, et iga run me kindlasti töötab uusima koodi. Me tagada see, ajakohastades meie koodi baasi iga kord me sooritame perspektiivis ning vähendada võrguliiklust ainult üle faili erinevusi meie võrku.
Minu tutvustamise setup, ma tegin täpselt nii, nagu eespool. Subversion paigaldati minu töö töötlemine server ja ma lihtsalt tõmbas viimase koodi "töötaja" filiaal kasutades "svn update '. I lisas ka versiooni number tag oma töötlemine script mis tagastati andmebaasi osa tulemustest tagasi. Nii ma näen, et minu kood oli uuendatakse iga kord, kui ma kopeeritud mu pagasiruumi arvesse töötaja filiaal st, et ma olin kindlasti töötab hiljemalt töötlemise skripti.
Kasutades uusimaid andmeid
Kui teie töö töötlemist kasutab andmeallikate siis mingil hetkel neid saab ajakohastada ka. Kui helistate oma allikatele on väga harva alusel sa lähed üle ujutada oma võrgu liiklust kiiresti oma töötajate alata tuua kõik soiku. Minu lahendus ma otsustasin, et tahaks minna minu andmeallikad ringi oma laevadele.
Hoia oled hobused seal! Mida teha, kui minu andmeallikad on suured? Noh see on tõesti tegemist kui palju andmeid me räägime? See võib olla tasuv paigaldada täiendavaid suurem kõvaketas igasse masina kui osta täiendavalt töötlemine server. See on küsimus eelarve on kuni ettevõtte otsustada. See võib-olla et oma allikatele on nii suur, et selle lihtsalt võimatu hoida, et andmemaht oma töötaja masinaid. Sel juhul mida sa teeksid? Hästi võiksime vaadata helistades kohalike andmete server, aga see võib tekitada probleeme võrku. Sel juhul grid süsteem nagu see võib muutuda ebarealistlikuks lisada oma kontori keskkond. Samuti võib olla, et saate alternatiivseid töötab strateegiaid, näiteks ainult helistamise töötajate 08:00-6:00 igal õhtul ja / või vähendanud andmeallikas nõuab.
Liikudes saab öelda, meie andmeallikate summa 100GB andmeid. Noh jah see on üsna vähe andmeid, et liikuda võrgustik update. Kuidas me tagame, et meil on viimaste andmete koopia antud juhul? Rsync on võimalik, kuid mina isiklikult arvan, käivitades oma viimaseid andmeallikas oma tööd töötlemine server ja määrata käesoleva meister replikatsiooni (kena pikk bin log) võiks olla võimalus minna:
Seades iga oma töötajaid üles nagu ori töö kontroll server uudiseid oma allikatele niriseb kenasti oma töötajad ilma tohutult kasvanud võrgustiku tegevuse (st kui olete läbi tohutu andmete uuendamine ja kõigi oma töötajate algama korraga). See on eeliseid rsync et te ei jääks pikk paus enne iga töö, sest andmebaasi uuendused, mysql deemon oma töötaja saab pidevalt täiendada oma andmeid, kui töötlemine jätkub.
See, kuidas ma loodud mu tutvustamistegevuse server. Luua replikatsiooni Ma järgisin juhend MySQL koha ( seadistamine replikatsiooni ) ja 20 minuti jooksul oli mul inital töötaja imitatsiooniga töö kontroll serverid andmebaasil. Iga täiendava töötaja replikatsiooni seaded ja protsessi töötas iga kord, kui VM kopeeritud.
Kokkuvõte
Selles osas artiklis vaatlesime kuidas lihtne ja valutu see on hoida oma töötlemine kood ajakohane using rsync või subverion (SVN) tööd teha ja vähendada võrguliiklust samal time. Samuti arutati, kuidas hoida oma andmeallikast andmed up-to-date, võimaldades sellel nire alla iga oma töötajaid. Seega on meil ala et me kursis äriloogika ja teavet meie kontoris võrgusüsteemi. Seal saab ilmselt lugematuid alternatiive nimetatud ülesannete täitmisel, kuid siin olid kaks lihtsat näidet, et näidata, kui lihtne lahendus saada.
Järgmine kord
Viimases osa sellest seeriast, tabavalt nimetatud osa 5 , me arutada rakendades seda süsteemi. Ma kokkuvõtteid, mida on õppinud ja mida mul õnnestus luua.

















































