Posts tagged: svn

Grid Computing Zyra e ambiente duke përdorur Virtual - Pjesa 4

Nga , e premte 4 Dhjetor 2009 23:59

Hyrje

Unë punoj në një kompani ku kemi drejtuar shumë punë grumbull përpunimit miliona e të dhënave e të dhënave çdo ditë dhe unë kam qenë duke menduar kohët e fundit për të gjitha makinat që ulen çdo ditë duke bërë asgjë për disa orë. A nuk do të jetë mirë në qoftë se ne mund të përdorni këto makina për të forcuar pushtetin e përpunimit të sistemeve tona? Në këtë grup të neneve Unë do të shikojmë në përfitimet potenciale të punësuar një zyrë rrjet duke përdorur mjedise virtualised.

pjesën 3 ne krijuar virtuale makinë tona të përpunimit dhe të ngritur dritaret e makinave të bëhen boshe në kohë punëtorë.

Drejtimin kodin fundit

Në mënyrë të pashmangshme, pas krijimit të punëtorëve logjikën e biznesit tuaj do të ndryshojë, bugs do të gjendet, kodi më të shpejtë më efikase do të prodhohet duke lënë punëtorët tuaj të ulur rreth përpunimit të të dhënave duke përdorur kodin e vjetër erë të keq . Si atëherë nuk kemi të siguruar që ne jemi gjithmonë duke përdorur versionin më të fundit dhe më të mëdha të përpunimit Scripts tona?

Ka disa mënyra shumë e lehtë të thjeshta që ne mund të bëjmë këtë, mashtrim, megjithatë, është për të reduktuar fuqinë përpunuese dhe trafikut të rrjetit në arritjen e kësaj. Lejon të fillojë me thjeshte e zgjidhjeve dhe për të përmirësuar atë ngadalë gjatë disa iterations.

Metoda e parë do të ishte thjesht lidheni me serverin kontrollit tonë të punës (përmes samba, ftp, ose të ngjashme) dhe tërheq poshtë versionin e fundit të kodit. Jo shumë efikas, por kjo do të bëjë punë. Lejon të përmirësuar disi që, si për krijimin e një script rsync dhe duke përdorur atë kohë për çdo vend? Përndryshe çfarë në lidhje me vënien fundit script tona të përpunimit në përmbysje të kontrolluar nga kodin fillimisht dhe pastaj vetëm përditësimin kodin tonë në çdo të drejtuar ( svn Azhurimi )?

Në fund mund të përfundojë me një script bash (i quajtur nga cron çdo 10 minuta), e cila duket e thjeshtë si kjo:

  #! / Bin / sh
 nëse ps sëpatë | grep grep v-| grep php > / dev / null
 pastaj
     echo "Jobi është aktualisht përpunimi, dalje"
 tjetër
     echo "Jobi nuk është në ekzekutim, fillojnë tani"
     cd / path / to / pune / kopje
     svn Azhurimi
     php yourJobProcessingScript.php
 fi 

Tani ne mund të jetë i sigurt që me çdo afat ne jemi patjetër drejtimin kodin fundit. Ne jemi të siguruar këtë me azhurnimin e bazës tonë kodit kohë çdo Ne kryerjen e një të kandidojë dhe reduktimin e trafikut të rrjetit nga vetëm transferimin e dallimeve skedar nëpër rrjetin tonë.

Në setup tim demonstrim, kam bërë pikërisht si më sipër. Përmbysje ishte instaluar në serverin e përpunimit të punës time dhe unë thjesht tërhoqi kodin e fundit nga një degë s Gallery punetorit duke përdorur 'svn freskimi'. Kam gjithashtu shtoi një tag numër versioni të shkrimit tim të përpunimit i cili u kthye në bazën e të dhënave si pjesë e kthimit të rezultateve. Në këtë mënyrë unë mund të shoh se kodi im ishte duke u përditësuar çdo herë që unë kopjuar trungun tim në dmth degës punëtor që unë isha patjetër drejtimin e shkrimit të fundit të përpunimit.

Duke përdorur të dhënat më të fundit

Nëse përpunimi tuaj të punës e bën përdorimin e burimeve të të dhënave, atëherë në disa pika këto do të jenë të përditësuar shumë. Nëse ju telefononi burimeve të të dhënave tuaja në një bazë shumë të rrallë do të jeni të përmbytjeve rrjetin tuaj me trafik sa më shpejt që punëtorët tuaj të filloni duke e çuar çdo gjë në vend numëro. Për zgjidhjen e mia unë kam vendosur që do të doja të lëvizur burimet e mia të dhënave rreth me VMs mia.

Mbajeni ju jeni kuaj atje! Çfarë ndodh nëse burimet e mia të dhënat janë të mëdha? E pra kjo është me të vërtetë një rast se sa të dhëna jemi duke folur? Kjo mund të jetë me kosto më efektive për të instaluar një disk shtesë të madhe të vështirë në çdo makinë se për të blerë një server shtesë të përpunimit. Kjo është një pyetje e buxhetit dhe deri në të biznesit për të vendosur. Kjo ndoshta që burimet tuaja të dhënat janë kaq të mëdha që e saj vetëm pamundur për të mbajtur atë sasinë e të dhënave në makinat tuaja punëtore. Në këtë rast çfarë do të bëni? E pra ne mund të shikojmë në duke e quajtur një server lokal të dhënave, por kjo mund të shkaktojë probleme me rrjetin. Në këtë rast një sistem të rrjetit të tilla si kjo mund të bëhet realiste për të përfshirë në mjedisin tuaj zyre. Ajo mund gjithashtu të jetë që ju mund të shikoni në strategjitë alternative running, për shembull, vetëm duke e quajtur punëtorët tuaj midis ores 8 të mbrëmjes dhe 6 çdo natë dhe / ose të dhënat throttling kërkesa burim.

Lëvizja më lejon të thonë se shuma e të dhënave tona burimet me 100GB e të dhënave. E pra po kjo është mjaft pak e të dhënave të lëvizë në rrjetin në një update. Si do të kemi siguruar që ne kemi kopje të fundit të të dhënave në këtë rast? Rsync është një mundësi, por personalisht mendoj se me drejtimin e burimit të fundit tuaj e të dhënave në server të përpunimit tuaj të punës dhe ngritjen kjo lart si një mjeshtër në replikimin (me një regjistër të bukur të gjatë bin) mund të jetë rruga për të shkuar:

përsëritje Me vendosjen e secilit prej punëtorëve tuaj si një skllav të rejat e kontrollit të punës server burimeve të të dhënave tuaja do të rrjedh poshtë bukur për punëtorët tuaj pa një rritje të madhe në veprimtarinë e rrjetit (që është nëse nuk keni kryer një përditësim të madh e të dhënave dhe të gjithë punëtorët tuaj shkelm në në të njëjtën kohë). Kjo ka përparësi mbi rsync në se ju nuk do të merrni një pauzë të gjatë para çdo punë, si përditësimet e bazës së të dhënave, mysql daemon për punonjësit tuaj do të vazhdimisht update të dhënat e saj, ndërsa përpunimi vazhdon.

Kjo është se si unë të ngritur serverin tim demonstrim. Për të ngritur replikimin kam ndjekur udhëzues në faqen e MySQL simbolit Ngritja replikimin ) dhe brenda 20 minutash kam pasur punonjës time inital përsëritjes së kontrollit të punës dataset servers. Për çdo punonjës shtesë parametrat e replikimit dhe procesi ka punuar çdo herë kur VM është kopjuar.

Përmbledhje

Në këtë seksion të nenit kemi shikuar se sa e lehtë dhe pa dhimbje ajo është që të mbajë kodin tuaj të përpunimit deri në datën nga using rsync ose subverion simbolit SVN) për të bërë punën dhe për të zvogëluar trafikun e rrjetit në të njëjtën time. Ne gjithashtu diskutuam se si për të mbajtur informacionin tuaj të dhënave burim up-to-date me e lejuar atë të rrjedh poshtë për secilin prej punëtorëve tuaj. Kështu ne zona siguruar se do të vazhdojmë deri me logjikën e biznesit dhe informacionin në sistemin e rrjetit të zyrës sonë. Ka padyshim do të jetë alternativa të panumërta për kryerjen e këtyre detyrave, por këtu janë dy shembuj të thjeshtë për të treguar se sa e lehtë është një zgjidhje që do të vijnë nga.

Herën tjetër

Në pjesën e fundit të kësaj serie, të quajtur me vend Part 5 , ne do të diskutuar vendosjen e këtij sistemi për të. Unë do të përmblidhni atë që është mësuar dhe atë që kam arritur të krijojë.

Grid Computing Zyra e ambiente duke përdorur Virtual - Pjesa 1

Nga , e premte 4 dhjetor 2009 11:23 pm

Hyrje

Unë punoj në një kompani ku kemi drejtuar shumë punë grumbull përpunimit miliona e të dhënave e të dhënave çdo ditë dhe unë kam qenë duke menduar kohët e fundit për të gjitha makinat që ulen çdo ditë duke bërë asgjë për disa orë. A nuk do të jetë mirë në qoftë se ne mund të përdorni këto makina për të forcuar pushtetin e përpunimit të sistemeve tona? Në këtë grup të neneve Unë do të shikojmë në përfitimet potenciale të punësuar një zyrë rrjet duke përdorur mjedise virtualised.

Si PHP zhvilluesi unë jam duke shkuar për të përdorur mjetet që përdorin çdo ditë domethënë, Linux, MySQL , PHP, VirtualBox dhe përmbysje pushteti simbolit SVN). Megjithatë, unë shpresoj se ky udhëzues do të përshtaten me gjuhët e tjera dhe teknologjive ashtu si edhe.

I japin zgjidhje do të jetë shumë lirshëm në bazë të llojit të përpunimit të ne do të duhet për të arritur megjithatë kjo nuk mund të jetë e vërtetë përmes të nenit gjithë si unë do të ndryshojnë gjërat për thjeshtësi, ose për të prodhuar skenarët më interesante e përdorimit.

Këto mjedise virtualised do të kandidojë në makinat e dritareve pasi kjo është ajo që shumica e zyrave të kandidojë. Përpunimit se makina zyra nuk duhet të ndërhyjë me stafin duke përdorur ato makina, duhet të kërkojnë asnjë mirëmbajtje në makinë, dhe të jenë lehtësisht të dislokueshme për makina të reja si ato të bëhen të disponueshme. Gjithashtu, makinat e reja virtuale nuk duhet të kërkojnë ndonjë konfigurim shtesë që kjo në masë të madhe ul scalability dhe lehtësinë me të cilën sistemi i rrjetit mund të zgjatet.

Pse vendosë një Computing Grid Office?

Së pari ju mund të menduarit, jo pse vetëm përdorni një burim cloud tilla si platformë EC2 Amazon ? Well arsyet mund të jenë disa, për shembull:

  • Ju nuk do të besojë të dhëna të caktuara për një mjedis cloud
  • Ju nuk mund të vënë të dhëna të caktuara në një mjedis cloud për arsye ligjore (të dhëna p.sh. duke e lënë vendin), potencialisht për arsye ligjore, p.sh. të dhënat NHS.
  • Ju dëshironi të mbani njësitë tuaja përpunimit të mbyllur dhe të ketë kontroll të plotë mbi hardware shumë
  • Ju nuk keni fondet e projektit për të kandiduar raste reve
  • Zyra juaj nuk ka një lidhje në internet dhe për këtë arsye është e mundur të mos e saj për të përdorur një burim të re
  • Ju nuk më pëlqen shiu, retë sugjerojnë shi, prandaj ju mbani edhe larg

Unë jam i sigurt lista mund të vazhdojë, por unë mendoj se është mjaft tani për tani.

Avantazhet e një Grid Computing Office

E pra, lejon të bëni disa matematika (dhe në stilin e vërtetë fizikë lejon të bëjmë disa supozime thella). Paramendoni ju keni madhe server beefy përpunimit running 100 punë në ditë. Në zyrën tuaj ju kemi 50 makina të cilat janë të papunë 16 orë në ditë, secili prej këtyre makinave është 10% aq i fuqishëm sa pres beefy tuaj të përpunimit. (Të gjitha rezultatet këtu janë rrumbullakuar të nënvlerësojë rritjen e performancës).

Pra, 1 makine * energji 10% * 2/3 Ora = 0,067 dmth 1 përpunimit desktop në kohë boshe mund të procesit 6 punë të plota në ditë.

Nëse ju tani shkallë këtë ide ai merr 15 Desktop boshe për një proces sa më shumë punë në ditë si server kryesor juaj përpunimit bën.

Pra, në zyrën tonë pretendojë prej 50 makinave ne mund të rrisë fuqinë tonë të përpunimit nga 1 server deri në 4 serverat e plotë të përpunimit, ose ne mund të përpunimit 400 punë në ditë në vend të 100.

Njoftim për asnjë investim në harduer të ri Kompania juaj ka rritur vetëm përpunimin e tij grumbull kapacitet 4 herë! Potencialisht ju jeni duke shkuar për të rritur përdorimin tuaj të energjisë, por nga mjediset e zyrës më të unë kam qenë në makina janë lënë në përgjithësi në natës anyway, kështu që ju mund të shihni këtë si një nismë e gjelbër.

Avantazhe të tjera gjithashtu do të thotë se investimi në re (ose përditësuar) Serverat e përpunimit mund të shtyhet nëse makina juaj e zyrës janë të mjaftueshme dhe se si ju të përmirësuar fuqinë e makinave të zyrës tuaj Rrjeti zyra juaj të bëhet më e fuqishme automatikisht.

Technologies

Çfarë ju duhet? (Ose më saktë çfarë kam përdorur):

  • Makina kota zyre (ne rastin tim një rezervë e vjetër dritare laptop XP)
  • VirtualBox (ose në një tjetër klient virtualisation software)
  • Një makinë virtuale me PHP, MySQL running drejtimin e një prerje poshtë OS, unë jam duke e quajtur këto servers mi squllur :)
  • Punë për të drejtuar
  • Job server (mund të jetë një tjetër makinë virtuale diku)

Punët tipike

Llojet e punës që ky sistem është projektuar për të kandiduar është si vijon:

  • Sistemi merr një listë të të dhënave mbi të cilat ne kemi nevojë që të shkojë dhe të kthehet rezultatet
  • Përshtatja përfshin kontrolluar / në kërkim disa (mjaft statik) të dhënat e burimeve
  • Rezultatet nga burimet e të dhënave mund të kërkojë validation mëtejshme, bashkimi, kontrollimi i burimeve të të dhënave shtesë në përgjigje të rezultateve të
  • Data është kthyer me të dhënat që përputhen, vërtetuar plotësisht dhe të përpunuara
  • Çdo rekord brenda një punë është e pavarur nga pjesa tjetër

Pra, në thelb ne jemi duke kërkuar në drejtimin e punëve të cilat kërkojnë një përzierje të Lookups bazës së të dhënave dhe disa crunching numër, një skenar mjaft tipike në një mjedis të biznesit.

Zgjidhjet e rrjetit nuk janë vetëm të dobishme për përpunimin e punë të këtij lloji. Në thelb, çdo proces i cili mund të ndahen në njësi të pavarura mund të kandidojë në paralele. Shiko këtë wikipedia shembuj dhe më shumë informacion: Computing Grid , por disa shembuj të famshëm janë të SETI @ home dhe BIONC . Nuk janë korniza për drejtimin rrjetet kompjuterike, dhe këto janë edhe me vlerë në kërkim.

Çfarë do të arrijmë?

Deri në fund të këtyre artikujve Unë shpresoj për të treguar se vendosjen e një rrjet zyre nuk duhet të jetë konsumojnë jashtëzakonisht të shtrenjta apo të kohës. Unë jam duke shkuar për të diskutuar:

  • Vendosja e sistemit të kontrollit të punës, konfigurimi punë
  • Krijimi i një makinë të përshtatshme të përpunimit virtuale
  • Si të setup sistemin në një makinë dritare
  • Siguruar që ju jeni duke përdorur kodin e fundit dhe të dhënat
  • Vendosja e krahasimit
  • Duke parë përpara

Do të jetë ndërtesë (ok kam ndërtuar, atëherë shkroi këtë) një kërkesë për shembull për të testuar konceptet në një makinë lokal duke përdorur Windows XP dhe ime, GridMachine s Gallery makinë virtuale. Kontrolli ime punë server do të jetë makinë im kryesor që shkon Fedora 11 .

Kjo është në asnjë mënyrë nuk ka për qëllim të demonstrojnë një sistem të plotë pune të fuqishme, e saj të thoshte më shumë një demonstrim dhe diskutimin duke treguar se këto gjëra mund të arrihet në një hapësirë ​​të arsyeshme të shkurtër kohe dhe me pak shpenzime. Ju lutem mos ngurroni të më dërgoni ndonjë koment, korrigjimeve, ose përmirësimet dhe unë do të bëj çmos që ta mbajmë këtë artikull përditësuar të ndeshjes.

Herën tjetër

pjesën 2 Unë do të fillojë duke shikuar në sistemin e kontrollit të punës, dhe shikoni se si Punë duhet të konfigurohet në mënyrë që të arrihet shuma më e madhe e përpunimit ndërsa të siguruar që çdo punë është përpunuar pa dyshim.













Theme nga Panorama Themocracy

10 vizitorët në linjë tani
10 vizitorë, 0 bots, 0 anëtarë
Vizitorë Max sot: 11 at 04:09 PM UTC
Këtë muaj: 18 në 07-05-2012 04:35 PM UTC
Këtë vit: 69 në 27-02-2012 09:56 am UTC
Gjithë koha: 130 në 28-03-2011 UTC 10:40 PM