Posts tagged: svn

Office Grid segítségével virtuális környezetben - 4. rész

A , péntek december 4, 2009 11:59

Bevezetés

Dolgozom a vállalatnál, ahol sok fut kötegelt feladatok feldolgozására millió nyilvántartások adatok minden nap, és én már gondolok a közelmúltban arról, hogy az összes gép ülnek minden nap semmittevés órákon át. Nem lenne jó, ha tudnánk használni az olyan berendezést, mely növeli a feldolgozási teljesítmény a rendszerünk? Ebben a statútum fogom nézni a potenciális előnyei foglalkoztat egy irodai hálózat segítségével virtualizált környezetben.

A 3. rész hoztuk létre virtuális géphez és beállítani a Windows gépek lesz tétlen munkaidőben dolgozók.

Futás a legfrissebb kódot

Elkerülhetetlen létrehozása után a dolgozók az üzleti logikát változni fog, meg fogja találni a hibákat, gyorsabb hatékonyabb kódot fog tartalmazni, így elhagyja a munkások ültek körül adatfeldolgozást a régi kódot büdös . De vajon hogyan tudjuk, hogy mi mindig a legújabb és legnagyszerűbb változata a feldolgozó szkriptet?

Van néhány nagyon egyszerű egyszerű módon tudnánk ezt csinálni, a trükk azonban az, hogy csökkentse feldolgozási teljesítmény és a hálózati forgalom ennek elérésében. Kezdjük a legegyszerűbb megoldás, és javítása lassan egy pár iteráció.

Az első módszer az lenne, hogy egyszerűen csak csatlakoztatni kell a munkánkat vezérlő szerver (SAMBA-n, FTP-, vagy hasonló), és húzza le a legújabb verzióját a kódot. Nem túl hatékony, de elvégzi a munkát. Lehetővé teszi, hogy valamelyest javítani, mi a helyzet megteremtése rsync script segítségével, és ahelyett, hogy minden egyes alkalommal? Alternatívaként mi a helyzet üzembe legújabb feldolgozása scriptet felforgatás megnézni a kódot, majd kezdetben csak frissítjük kódot minden távon ( svn update )?

A végén sikerült a végén egy bash script (cron hívja meg minden 10 percben), amely úgy néz ki, ilyen egyszerű:

  #! / Bin / sh
 ha ps ax | grep-v grep | grep php > / dev / null
 majd
     echo "Job jelenleg feldolgozás, exit"
 más
     echo "feladat nem fut, indítsa el most"
     cd / path / to / munka / másolás
     svn update
     php yourJobProcessingScript.php
 fi 

Most már biztosak lehetünk abban, hogy minden egyes távon mi biztosan fut a legújabb kódot. Mi biztosítja ezt frissítjük alapkód minden egyes alkalommal, amikor elvégzi a távon, és csökkenti a hálózati forgalmat csak a fájl átvitele különbségek a hálózat.

Az én bemutató telepítés, tettem pontosan a fentiek szerint. Subversion volt telepítve a munkám feldolgozás szerver és egyszerűen kihúzta a legfrissebb kódot, a "munkavállaló" fióktelep a 'svn update ". Azt is hozzátette, egy verzió számát tag az én feldolgozó script, amely visszakerült az adatbázis részeként az eredmények vissza. Így láttam, hogy a kód volt, hogy minden egyes alkalommal frissített Bemásoltam a csomagtartóban a munkavállaló ága, azaz, hogy én biztosan fut a legújabb feldolgozó forgatókönyvet.

A legfrissebb adatok

Ha a munka feldolgozását teszi adatforrások használata, akkor egy bizonyos ponton, ezek fogják frissíteni is. Ha nem hívja fel a források, egy nagyon ritka alapján fogsz elárasztani a hálózati forgalomhoz, amint a dolgozók elindulnak így mindent a holtpontról. Mert én úgy döntöttem, hogy megoldást szeretnék áthelyezni az Adatforrások körül az én virtuális gépeken.

Tartsa te ló van! Mit tegyek, ha adatforrások ÓRIÁSI? Hát ez valóban egy esetben, hogy mennyi adat is van szó? Lehet, hogy költséghatékonyabb telepíteni egy további nagyobb merevlemez mindegyik géphez, mint vásárolni egy további feldolgozás szerver. Ez a kérdés a költségvetési és akár az üzleti dönteni. Ez lehet, hogy az adatforrások olyan nagy, hogy annak csak kivitelezhetetlen tartani, hogy a tárolt adatmennyiség a munkás gépek. Ebben az esetben mit tennél? Jól tudtunk nézni egy helyi hívás adat szerver, de ez okozhat problémákat a hálózat. Ebben az esetben egy rács rendszer, mint ez válhat irreális felvenni irodai környezetben. Az is lehet, hogy meg lehet keresni az alternatív működési stratégiák, például a hívó csak a dolgozók 20:00-06:00 Minden este és / vagy fojtás adatforrás kéréseket.

Továbbhaladva mondjuk mi adatforrások összeget 100GB adat. Hát igen ez egy kicsit adatok mozogni a hálózaton egy frissítést. Hogyan biztosítjuk, hogy mi van a legújabb másolatot az adatok ebben az esetben? Rsync egy lehetőség, de személy szerint azt hiszem, fut a legfrissebb adatok forrása a bérmunka és a szerver beállítva, mint egy mester replikáció (egy szép hosszú bin log) lehet az út:

replikáció Azáltal, minden a dolgozók ki, mint egy rabszolga, hogy a munkát vezérlő szerver frissítéseket az adatforrások szépen leszivárog a munkások nélkül, ugrásszerűen megnőtt a hálózati tevékenység (vagyis ha végre egy hatalmas adatfrissítés és az összes munkavállaló indítja be egyszerre). Ennek előnye, hogy az rsync akkor nem kap egy hosszú szünet előtt minden munkát, mint az adatbázis frissítése, a MySQL démon a munkavállaló folyamatosan frissíti az adatokat, miközben a feldolgozás folytatódik.

Ez hogyan beállítani a bemutató szerver. Beállítása replikáció követtem az útmutató a MySQL honlapján ( replikáció beállítása ) és 20 perc alatt ettem inital munkás lemásolják a feladatot vezérlő szerverek adatbázisba. Minden további munkás a replikációs beállításokat és a folyamat minden egyes alkalommal, amikor működött a VM másolták.

Összegzés

Ebben a részben a cikket kerestünk, milyen egyszerű és fájdalommentes ez tartani a feldolgozási kód naprakész using rsync vagy subverion (SVN), hogy ezt a munkát és csökkenti a hálózati forgalmat egyszerre time. Azt is megvitatták, hogyan tartani az adatforrás információi-to-date, lehetővé téve, hogy lecsapódása minden a munkavállalókat. Így biztosítva azt, hogy a területen lépést tartani az üzleti logika és információs irodánkban rács rendszer. Ott minden bizonnyal számtalan alternatívát e feladatok, de itt két egyszerű példát, hogy megmutassuk, milyen egyszerű a megoldás találni.

Legközelebb

Az utolsó részben a sorozat, találóan elnevezett 5. rész , megbeszéljük telepíteni ezt a rendszert. Majd össze az eddig tanultak és mit sikerült létrehozni.

Office Grid segítségével virtuális környezetben - 1. rész

A , péntek december 4, 2009 11:23

Bevezetés

Dolgozom a vállalatnál, ahol sok fut kötegelt feladatok feldolgozására millió nyilvántartások adatok minden nap, és én már gondolok a közelmúltban arról, hogy az összes gép ülnek minden nap semmittevés órákon át. Nem lenne jó, ha tudnánk használni az olyan berendezést, mely növeli a feldolgozási teljesítmény a rendszerünk? Ebben a statútum fogom nézni a potenciális előnyei foglalkoztat egy irodai hálózat segítségével virtualizált környezetben.

Mint egy PHP fejlesztő fogom használni eszközöket használ, hogy én minden nap nevezetesen, Linux, MySQL , PHP, VirtualBox és a Subversion (SVN). Azonban remélem, ez az útmutató alkalmazkodni a más nyelvek és technológiák ugyanolyan jól.

A megoldás biztosítja azt is nagyon lazán típusa alapján a feldolgozás azt kéne elérni, azonban ez nem lehet igaz az egész cikket fogok változni fog, az egyszerűség kedvéért, vagy hogy több érdekes használat módja.

Ezek a virtualizált környezetek fog futni a Windows gépeken, hiszen ez az, amit a legtöbb irodák futnak. A feldolgozás az irodai gépek végzik, nem sérthetik a személyzet használja ezeket a gépeket, amennyiben nem igényelnek karbantartást a gépen, és könnyen telepíthető az új gépeket, amint elérhetővé válnak. Továbbá, az új virtuális gépeket nem igényel semmilyen további konfiguráció, mert ez nagyban csökkenti a skálázhatóságot és könnyű, ahol a grid-rendszer bővíthető.

Miért telepítése az Office Computing Grid?

Először is meg lehet gondolkodni, miért nem használja a cloud computing erőforrás, mint az Amazon EC2 platformon ? Nos, a több oka lehet, például:

  • Ön nem bízza bizonyos adatok a cloud computing környezetben
  • Nem lehet tenni bizonyos adatokat egy cloud computing környezetben jogi okokból (pl. adatok elhagyja az országot), esetleg jogi okokból, pl NHS rekordokat.
  • Meg akarja tartani a feldolgozó egységek közelében, és teljes ellenőrzése alatt a hardvert is
  • Nem kell a projekt alapok futtatni felhő példányok
  • A hivatal nem rendelkezik az internettel kapcsolatban, és ezért annak nem lehet használni a felhő erőforrás
  • Nem tetszik az eső, felhők utalnak az eső, ezért tartsa távol

Biztos vagyok benne, a listát folytathatnám, de azt hiszem ennyi elég is egyelőre.

Előnyök az Office Computing Grid

Nos, lehetővé teszi, hogy némi matematika (és a fizika igazi stílus segítségével, hogy néhány lendületes feltételezések szerint). Képzeld el, hogy nagy húsos feldolgozó szerveren futó 100 munkahely naponta. Ebben az irodában van 50 gép, amely használaton kívül van 16 órát egy nap, minden egyes ilyen gépek 10% olyan erős, mint a húsos feldolgozás sever. (Minden eredmény itt vannak kerekítve, hogy alábecsülik a teljesítmény növekedés).

Szóval, 1 gép * 10%-os teljesítmény * 2/3 = 0,067 alkalommal azaz 1 asztali feldolgozás üresjárati időben képes feldolgozni 6 teljes napi feladatok számát.

Ha most ezt fel átméretezni tart 15 tétlen asztali feldolgozni annyi napi feladatok, mint a fő szerver feldolgozása teszi.

Tehát az irodai mintha 50 gép tudtuk növelni a feldolgozási teljesítmény 1 szerveren akár 4 teljes feldolgozására szerver, vagy mi lehet feldolgozása a napi feladatok számát 400 helyett 100.

Megjegyzés, a beruházás nem új hardver a cég nemrég növelte kötegelt feldolgozási kapacitása 4-szer! Potenciálisan fogsz növelje az energiafogyasztást, hanem a legtöbb irodai környezetben voltam, hogy a gépek általában marad éjszakára, úgyhogy látni lehetett ezt a zöld kezdeményezést.

Más előnyök is jelenti, hogy az új beruházás (vagy frissített) feldolgozás szervereket lehet halasztani, ha az irodai gépek elegendő, és ahogy a hatalom javítják az irodai berendezések az irodai hálózat lesz erősebb automatikusan.

Technologies

Mire van szükség? (Vagy pontosabban mit tudom használni):

  • Idle irodai gép (az én esetemben egy tartalék régi windows XP laptop)
  • VirtualBox (vagy más virtualizációs kliens szoftver)
  • A virtuális gép PHP, MySQL running futtató OS kivágták, hívom én ezeket a Limp szerverek :)
  • Jobs futtatásához
  • Állás szerver (lehet egy másik virtuális gép valahol)

Tipikus Jobs

Azok a munkakörök, hogy ezt a rendszert úgy tervezték, hogy a következő:

  • A rendszer kap egy listát az adatok, amelyek alapján meg kell egyeznie, és visszatérjen eredményei
  • Hozzáillő ellenőrizzük / keres több (viszonylag statikus) adatforrások
  • Adatforrásokból származó eredmények kérhet további érvényesítése, összevonása, ellenőrzése további adatforrások válaszul eredmények
  • Az adatok vissza a megfelelő rekordot, teljesen hitelesített és feldolgozott
  • Minden rekord egy feladat független a többi

Tehát alapvetően mi fut éppen a munkahelyek, amelyek megkövetelik a keveréke adatbázis lekérdezések és egyes számok érdekelték, egy meglehetősen tipikus forgatókönyv egy üzleti környezetben.

Grid megoldásai nem csak előnyös a feldolgozó munkák az ilyen típusú. Alapvetően minden olyan folyamat, amely lehet osztani önálló egységként lehet futtatni párhuzamosan. Lásd ezt a wikipedia példákat és további információ: Grid Computing , de néhány híres példa Seti @ Home és BIONC . Vannak keretek futó számítógépes hálózatokat, és ezek is érdemes vizsgálja.

Mit fogunk elérni?

Végére ezek a cikkek, remélem azt mutatják, hogy egy irodai hálózat kiépítése nem kell rendkívül drága, vagy időigényes. Fogok beszélni:

  • Beállítása a munkát ellenőrző rendszer, munkahelyi konfiguráció
  • Létrehozása a megfelelő feldolgozó virtuális gép
  • Hogyan állítsuk be a rendszert egy Windows gép
  • Biztosítva, hogy Ön használja a legfrissebb kódot és adatok
  • Telepítés és benchmarking
  • Előretekintés

Én leszek épület (ok én építettem, majd megírta ezt) egy példa alkalmazást tesztelni a fogalmak helyi gépen a Windows XP és az én "GridMachine" virtuális gép. Az én feladatom lesz a vezérlő szerver gép, amely a fő fut Fedora 11 .

Ezt nem akarom bizonyítani egy teljesen működőképes robosztus rendszer, annak többet jelentett egy demonstrációs és megvitassa azt mutatja, hogy ezeket a dolgokat el lehet érni egy ésszerűen rövid idő alatt és alacsony költséggel. Kérjük, bátran küldje el nekem minden megjegyzést, korrekciót, vagy a fejlesztések és én mindent megteszek, hogy tartsa ezt a cikket frissíteni kell felelniük.

Legközelebb

A 2. részben fogom kezdeni nézi a munkát ellenőrző rendszer, és megnézzük, hogyan munkahelyeket úgy kell beállítani, annak érdekében, hogy a legnagyobb mennyiségű feldolgozás, biztosítva egyúttal, hogy minden feladat feldolgozása hiba nélkül.













Panoráma Theme Themocracy

6 online látogató jelenleg
5 vendég, 1 botoktól, 0 tag
Max. látogatók ma: 15 at 05:20 am UTC
Ebben a hónapban: 26 at 2012/04/04 10:27 UTC
Ebben az évben: 69 at 09:56 am UTC 27-02-2012
Minden idő: 130 28-03-2011 at 10:40 UTC