Ametikohad tagged: svn

Office Grid Computing kasutades virtuaalses keskkonnas - Osa 4

Autor , reede 4. detsember 2009 11:59

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:

replikatsiooni 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.

Office Grid Computing kasutades virtuaalses keskkonnas - Osa 1

Autor , reede 4. detsember 2009 11:23

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.

Kuna PHP arendaja Ma lähen kasutada tööriistu, et ma kasutan iga päev nimelt, Linux, MySQL , PHP, VirtualBox ja õõnestamises (SVN). Kuid ma loodan, et see juhend kohaneda teiste keelte ja tehnoloogiate sama hästi.

Lahendus ma ette on väga lõdvalt põhineb tüüpi töötlemise olime vaja saavutada aga see ei pruugi olla tõsi, läbi terve artikkel, kui ma muudan asju lihtsuse või toota rohkem huvitavaid kasutamise stsenaariumid.

Need virtualised keskkonnas töötab Windowsi masinad sest see, mida enamik büroode jooksma. Töötlemistoimingud, mis bürooseadmed teha ei tohiks segada personali kasutades neid masinaid, peaks nõudma mingit säilitamisega masin ja kergesti käivituva uute masinate kui need muutuvad kättesaadavaks. Ka uus virtuaalne masin ei nõua täiendavaid konfiguratsiooni, kuna see vähendab oluliselt mastaapsuse ja lihtsus, kus grid süsteemi saab laiendada.

Miks Deploy Office Computing Grid?

Esiteks võite mõelda, miks mitte lihtsalt kasutada cloud computing ressurss nagu Amazon EC2 platvormi ? Noh põhjuseks võib olla mitu, näiteks:

  • Sa ei või delegeerida teatavaid andmeid cloud computing keskkond
  • Sa ei saa panna teatud andmed cloud computing keskkond juriidilistel põhjustel (nt andmete riigist lahkumist), potentsiaalselt juriidilistel põhjustel, nt NHS arvestust.
  • Mida soovite säilitada oma töötlemisüksused lähedal ja on täielik kontroll riistvara liiga
  • Sa ei pea projekti raha joosta pilv juhtumeid
  • Oma kontoris ei ole internetiühendust ja seega ei ole võimalik kasutada pilv ressurss
  • Sa ei meeldi vihm, pilved näitavad vihma, seega hoiate eemal

Olen kindel, et loetelu võiks jätkata, kuid ma arvan, et piisab nüüd.

Eelised Office Computing Grid

Noh, võimaldab teha mõningaid matemaatika (ja tõsi, füüsika stiil võimaldab teha mõned sweeping eeldused). Kujutage ette, teil on suur lihakas töötlemine serveris 100 töökohta päevas. Oma kontoris olete 50 masinad, mis on idle 16 tundi päevas, kusjuures need masinad on 10% sama võimas kui oma lihakas töötlemine Sever. (Kõik tulemused siin on ümardatud alahinnata jõudluse kasv).

Niisiis, 1 masin * 10% võimsuse * 2/3 time = 0,067, st 1 desktop töötlemiseks jõudeaeg võib töödelda 6 täis tööd päevas.

Kui te nüüd skaala selle üles võtab 15 idle lauaarvutid töödelda nii palju tööd päevas, kui teie peamine töötlemise server teeb.

Nii et meie teeselda kontoris 50 masinate saame suurendada meie töötlemise võimsus alates 1 server kuni 4 täis töötlemise serverid, või me võiks töötlemise 400 töökohta päevas asemel 100.

Teate, mitte investeeringuid uutesse riistvara firma on just tõusnud oma partii töötlemise võimsus 4 korda! Potentsiaalselt sa lähed, et suurendada oma võimu kasutamine, kuid enamik kontori keskkonnas Olen olnud masinad on üldiselt jäänud üleöö niikuinii, nii et sa ei näe seda kui roheline algatus.

Muud eelised ka tähendada, et investeeringud uutesse (või uuendatud) töötlemise serverid võib viibida, kui teie bürooseadmed on piisavad ja kui parandada õigus Teie bürooseadmed oma kontori võrku muutub võimsamaks automaatselt.

Technologies

Mida on vaja? (Või õigemini, mida ma kasutada):

  • Idle bürooseadmed (minu puhul vaba vana Windows XP laptop)
  • VirtualBox (või muu virtualiseerimine kliendi tarkvara)
  • Virtuaalne masin PHP, MySQL running töötab kärpima OS, ma helistan need minu Limp servereid :)
  • Jobs joosta
  • Töö server (võib olla teise virtuaalse masina kuhugi)

Tüüpiline Töö

Tüüpi töökohti, et see süsteem on loodud töötama on järgmine:

  • Süsteemi saab andmete loetelu, millele me peame vastama ja tagastab tulemusi
  • Kohandamine on seotud kontrollimise / otsivad mitmed (üsna staatiline) andmeallikate
  • Tulemused andmeallikate nõuda lisakontrolli, ühinevad, kontroll täiendavaid andmeallikaid vastuseks tulemusi
  • Andmed tagastatakse sobitamine andmetel täielikult valideeritud ja töödeldud
  • Iga kirje jooksul töö on sõltumatu ülejäänud

Nii et põhimõtteliselt me ​​vaatame töötab töökohti, mis nõuavad segu andmebaasis otsinguid ja mõned number krigistamine, mis on üsna tüüpiline stsenaarium ärikeskkonda.

Grid lahendused ei ole ainult kasulik töötlemine töökohti seda tüüpi. Põhimõtteliselt meetod, mille võib jagada iseseisvad saab paralleelselt. Vaadake seda wikipedia näiteid ja lisainfo: Grid Computing , kuid paar tuntud näited on Seti @ Home ja BIONC . On raamistike töötab arvuti võrkude ja need on ka väärt.

Mida me saavutada?

Aasta lõpuks neid artikleid Loodan, et näidata, et rakendades kontori võrku ei pea olema väga kallis ja aeganõudev. Ma lähen, et arutada:

  • Luua töö süsteem, töö konfiguratsiooni
  • Luua asjakohased töötlemisel virtuaalse masina
  • Kuidas setup süsteem windows masin
  • Tagada te kasutate uusimaid kood ja andmed
  • Kasutuselevõtu ja võrdlusuuringud
  • Tulevikku vaadates

Ma tulen hoone (ok ma ehitasin, siis kirjutasin selle) näiteks taotluse katsetada ideid on kohalikus masinas Windows XP ja minu "GridMachine" virtuaalne masin. Minu töö kontroll server on minu peamine masin, mis töötab Fedora 11 .

See on kuidagi demonstreerima täielikult toimiv kindel süsteem, selle tähendanud enam tutvustamist ja arutelu näitab, et need asjad on võimalik saavutada suhteliselt lühikese ajaga ja madalate kuludega. Palun saatke mulle märkusi, parandusi või parandusi ja ma teen oma parima, et hoida käesoleva artikli uuendatud sobitada.

Järgmine kord

Aastal osa 2 mul hakkab vaadates tööd kontrollisüsteemi ning uurida, kuidas tööd tuleb seadistada, et saavutada suurim summa töötlemine, tagades samas, et iga töö on töödeldud ilma jätma.













Panorama Theme poolt Themocracy

5 külalist nüüd
2 külalised, 3 bots, 0 liiget
Max Külastusi täna: 23 at 07:18 am UTC
Sel kuul: 26 kell 2012/04/04 10:27 UTC
Sel aastal: 69 at 27-02-2012 09:56 am UTC
Kogu aeg: 130 at 28-03-2011 10:40 UTC