Kategorija: računarstvo

Apache proxy autentifikaciju sa probaviti

By Steven Lloyd Watkin , nedjelja 27. ožujka 2011 12:57

Ovaj post brzo će vam pokazati kako postaviti proxying s osnovnim autentifikaciju koristeći Apache .

U mom slučaju ja sam htjela da se prijenos torrent klijent malo dostupne preko interneta tako da sam mogao provjeriti stanje i adminster torrent downloads (kao što je najnoviji Fedora release) koja su propisali. prijenosnog sama teče svojim web klijent na port 9091 po defaultu. Umjesto da gnjaviti otvaranje više priključaka na moj firewall i dodavanje nessecary prosljeđivanje pravila port odlučio sam bih samo proxy pozive do prijenosa putem Apache koristeći mod_proxy .

Nastaviti čitanje 'Apache proxy autentifikaciju svariti s' »

Zend Framework: Render ako postoji

By Steven Lloyd Watkin , u nedjelju 12. prosinca 2010 16:19

Sažetak

Ovo je brz post kako bi raspravljali o prilično jednostavan pogled pomagač sam stvorio za pružanje Zend Framework stil pogled datoteku samo ako to postoji. Općenito molba kod pružiti datoteku koja ne postoji će se baciti izuzetak. Stoga sam stvorio omot za Zend_View:: pružiti () metodu koja određuje da li datoteka postoji i ako je tako čini, inače jednostavno vraća prazan niz.
Nastaviti čitanje 'Zend Framework: Render ako postoji' »

Zend Certified Engineer (ZCE) 5,3

By Steven Lloyd Watkin , četvrtak 30. rujan 2010 21:00

Sa činovnik puštanje od Zend Certified Engineer (ZCE) Program za 5,3 Mislio sam da bih dati moj brzo dojam onoga što sam mislio ispita.

Malo pozadini o sebi: Ja sam prvi put uvedeni u PHP oko 7 godina i radili su profesionalno u PHP-u od 2006. Ja trenutno rade za uzbudljiv start-up zove Brightpearl sa sjedištem u Bristolu, Velika Britanija , proizvodnju integrirani CRM, računovodstva, i ecommerce softver. Nisam prethodno pribavljenu bilo koje od prethodnih ZCE kvalifikacije. Ja trenutno razvijaju u 5.2.X serije i nisu stvarno koristiti bilo koji od specifičnih 5,3 značajke (ja sam na čekanju za Zend Framework i 2 nauk 2) u mom razvojne projekte.
Nastaviti čitanje 'Zend Certified Engineer (ZCE) 5.3' »

Zend Framework po modulu Izgled Postavke - Upute za daljnji rad

By Steven Lloyd Watkin , utorak 16 veljača 2010 20:48

Kao nastavak na moj prethodni post na po modulu na temelju izgleda postavki za Zend Framework , Ive 'obnovljeno kod zahtijevaju manje konfiguraciju od prije (ne da je potrebno više od nekoliko redaka u konfiguraciji vašeg zahtjeva!).
Nastaviti čitanje 'Zend Framework po modulu Izgled Postavke - Follow Up' »

Ured Grid računarstvo uporabom virtualnih okruženja - Dio 4

By Steven Lloyd Watkin , petak 4. prosinac 2009 11:59

Uvod

Radim u tvrtki u kojoj smo pokrenuli mnoge batch obrada radnih mjesta milijune zapisa podataka svaki dan i Razmišljao sam nedavno o svim strojevima koji sjede okolo svaki dan radiš ništa za nekoliko sati. Ne bi li bilo dobro kad bismo mogli koristiti one strojevi podupirati procesorsku snagu naših sustava? U taj niz članaka idem gledati na potencijalne koristi od zapošljavanja ureda mrežu koristeći virtualiziranog okruženja.

U dijelu 3 stvorili smo naš virtualni stroj za obradu i postaviti Windows strojevi postati mirovanja radnim vremenom.

Trčanje najnoviji broj

Neizbježno nakon što napravite svoju poslovnu logiku radnici će se promijeniti, bugovi će se naći, brže učinkovitije kod će biti proizvedena na taj način ostavljajući svoje radnike sjedili oko obrade podataka korištenjem starih smrdljiva koda . Kako onda mi bismo osigurali da uvijek koristite najnoviju verziju i najveće naše obrade skripte?

Postoji nekoliko vrlo jednostavan jednostavan način mogli bismo to učinili, trik, međutim, da se smanji procesorske snage i mrežni promet u postizanju toga. Počnimo s najjednostavnijim rješenja i unaprijediti polako preko nekoliko iteracija.

Prvi način bi se jednostavno spojiti na naš server posao kontrolu (putem sambe, FTP ili slično) i povucite prema dolje najnoviju verziju koda. Nije vrlo učinkovit, ali to će obaviti posao. Omogućuje poboljšanje na tom pomalo, kako se o stvaranju rsync skriptu i pomoću koje svaki put umjesto toga? Ili što o stavljanju naše najnovije prerade pismo u subverzije checking out kod na početku i onda samo ažuriranje naš kod na svaki mali ( svn update )?

Na kraju smo mogli završiti s bash skriptu (zove cron svakih 10 minuta) koji izgleda kao jednostavan kao ovaj:

  #! / Bin / sh
 ako ps ax | grep-v grep | grep php > / dev / null
 tada
     echo "Posao je trenutno obrada, izlaz"
 drugo
     echo "Posao nije pokrenut, pokrenite sada"
     cd / put / do / radne / kopiranje
     SVN ažuriranje
     php yourJobProcessingScript.php
 fi 

Sada možemo biti sigurni da sa svakom mali mi definitivno 'trčanje najnoviji broj. Mi smo osiguravanje to ažuriranje naše baze svaki put vršimo trčanje i smanjenje mrežnog prometa, samo prijenos datoteka razlike preko naše mreže.

U mom demonstraciju postava, ja sam točno kao gore. Subversion je instaliran na moj server posao obrade i jednostavno sam izvukao najnoviji broj iz 'radnik' grana pomoću 'svn update'. Također sam dodao oznake broj verzije na moj obradu scenarij koji je vraćen u bazu podataka kao dio rezultata povratka. Na taj način sam mogao vidjeti da je moj broj je se ažuriraju svaki put sam kopirao moje deblo u, odnosno radnik grane da sam definitivno bio pokrenut najnovije prerade scenarij.

Koristeći najnovije podatke

Ako vaš posao obrada omogućuje korištenje izvora podataka zatim u nekom trenutku, oni su idući u biti ažuriran previše. Osim ako ćete se obratiti svojem izvora podataka o vrlo rijetkim osnovi idete poplava vašoj mreži uz promet čim pokrenete radnici prikazivati ​​donosi sve da se zaustavi. Za moje rješenje odlučio sam da želim premjestiti moj izvora podataka okolo sa mojim VMS.

Držite ste konja! Što ako moje izvori podataka su ogromni? Pa ovo je stvarno slučaj koliko podataka se radi? On svibanj biti više troškovno učinkovite instalirati dodatni veći hard disk u svakom stroju nego na kupnju dodatnih obrada poslužitelj. To je pitanje proračuna i do poslovne odlučiti. To možda da izvori podataka su toliko velike da je samo neuvjerljivo da bi taj iznos od podataka u vašem radnika strojeva. U tom slučaju ono će vas učiniti? Pa smo mogli gledati na poziv lokalnog poslužitelja podataka, ali to može uzrokovati probleme s mrežom. U tom slučaju grid sustav, kao što to može postati nerealno uključiti u uredskom okruženju. To također može biti da možete pogledati u alternativne strategije trčanje, na primjer samo pozivom radnicima 20:00-6:00 svaku noć i / ili prigušni izvor podataka zahtjeva.

Premještanje na recimo našim izvorima iznosi 100GB podataka. Pa da to je vrlo malo podataka za kretanje na mreži ažurirati. Kako bismo osigurali da imamo najnoviju kopiju podataka u ovom slučaju? Rsync je mogućnost, ali osobno mislim da je trčanje tvoj najnoviji izvor podataka na vašem poslužitelju posao obrade i postavljanje te kao majstor u replikacije (s lijepim dugim bin dnevnik) može biti način da ide:

odgovor Postavljanjem svaku od vaših radnika se kao rob posao kontrole poslužitelja ažuriranja svojih izvora podataka će curiti dolje lijepo na svoj radnika bez ogroman porast u aktivnosti mreže (tj. ako ste izvršili ogroman podataka ažurirati i sve svoje radnike u kick u jednom). To je u prednosti u odnosu na rsync da ne bi dobili duge pauze prije svakog posla, kao i ažuriranja baze podataka, mysql daemon na vašem radniku će se stalno ažurirati svoje podatke, a obrada se nastavlja.

Ovaj je kako JA postaviti moj demonstracije server. Da biste postavili replikacija sam slijedio vodiča na MySQL stranice ( Postavljanje replikacija ) i unutar 20 minuta sam imao moj inital radnik Umnožava posao kontrole poslužitelja podataka. Za svaku dodatnu radnik replikacije postavke i proces radio svaki put kad VM je kopiran.

Sažetak

U ovom dijelu članka smo gledali kako se lako i bezbolno je to držati tvoj obrade kod ažurirana do using rsync ili subverion (SVN), da radimo i smanjenje mrežnog prometa na istoj time. Također smo razgovarali o tome kako zadržati svoje podatke izvor informacija up-to-date dopuštajući da curiti dolje za svaku od vaših radnika. Tako smo području osiguranja da smo ukorak s poslovnom logikom i informacije u našem sustavu uredu mrežu. Tu očito će biti bezbroj alternativa za obavljanje tih zadataka, ali ovdje su dva jednostavna primjera pokazati kako je lako rješenje je doći.

Sljedeći put

U posljednjem dijelu ove serije, podesno zove Dio 5 , mi ćemo raspravljati o uvođenju ovog sustava za. Ja ću sažeti ono što je naučio i ono što sam uspio stvoriti.

Ured Grid računarstvo uporabom virtualnih okruženja - Dio 3

By Steven Lloyd Watkin , petak 4. prosinac 2009 11:37

Uvod

Radim u tvrtki u kojoj smo pokrenuli mnoge batch obrada radnih mjesta milijune zapisa podataka svaki dan i Razmišljao sam nedavno o svim strojevima koji sjede okolo svaki dan radiš ništa za nekoliko sati. Ne bi li bilo dobro kad bismo mogli koristiti one strojevi podupirati procesorsku snagu naših sustava? U taj niz članaka idem gledati na potencijalne koristi od zapošljavanja ureda mrežu koristeći virtualiziranog okruženja.

U 2. dio smo gledali na poslovima server će se pokrenuti, i kako poslovi trebaju biti konfiguriran kako bi se postigao najveći iznos za obradu, dok bi se osiguralo da svaki posao obrađuje bez iznimke.

Postavljanje Vašeg nadležnog radnika - ili opušten server

Sljedeći korak u procesu je da postavite svoj virtualni radnika. Za to ću koristiti instalaciju CentOS koristeći VirtualBox. Im 'idući u uvesti koga u službu mySQL i PHP na serveru, također poznat kao opušten (Li Nux, m ySQL, P HP) Server (ja svibanj imati je napravio taj naziv gore).

  • Instalirajte VirtualBox na vašem Windows stroj (slijedi link)
  • Preuzmite i instalirajte CentOS (tekući inačici 5.3) u sklopu stvorio virtualni stroj

There's no point mi ide na ovo, tu je vjerojatno 1000 's velikom tutoriali vani (ok, ovdje je jedan: Stvaranje i Managing CentOS virtualni stroj pod VirtualBox ). Bitna stvar je imati na umu mislim je da sam nazvao moj virtualni stroj GridMachine.

Što se tiče mog izbora virtualizaciji klijenta i operativnog sustava otići tamo nije velika uvjerljiv razlog za svaki izbor. VirtualBox je nešto što mogu koristiti na moj home stroj, te je podržan od strane tri glavne operativne sustave. Odabrao sam Cent kao dobar stabilan OS, a ja ga koristiti na moj vlastiti web server. Ja sam veliki vjernik u pravo alat za posao (iako sam se primjenom "koristiti najbrži i najlakši za vas" mentalitet ovdje), pa ako operativni sustav X pokreće svoj ​​kod brže i efikasnije koristiti da umjesto:)

Važnije pobrinite se da vaše VM koristi DHCP, inače za svaki novi virtualni stroj bi trebao biti konfiguriran posebno što je nešto što ne want.By koristeći DHCP ne moramo konfigurirati mrežne postavke pojedinačno za radnika strojeva, DHCP će ruku iz IP adrese za vas. Stoga možete kopirati virtualni stroj o uredu bez brige o postavljanju svakog od gore (to poboljšava skalabilnost i smanjuje radnik uprave).

Proces koji bi trebao težiti postizanju bi dobiti novi fizičkom stroju, instalirati VirtualBox, a zatim ljepušan velik dio rasporediti virtualna slika bez mnogo drugo. To bi moglo biti mudar za postavljanje sve svoje radnike na različite podmreže, tako da možete barem vidjeti koliko strojevi su trčanje. Također ćete morati postaviti svoj strojeva na dugi najam ili zakup neograničen DHCP.

Kako to trčanje Jobs na radnika

To je zanimljivo područje i postoji nekoliko metoda vrijedi za obradu radnih mjesta na radnik. Ovdje ću samo raspravljati o dvije Najočitiji:

  • Neprestano pokretanje skripte: skripta, bilo da je shell skripta, ili PHP skripte se izvršavaju na jednom radniku i radi kao dio beskonačnu petlju. Ja sam diskontirana ovu metodu kao jedan pad skripte i potencijalno vaš radnici će prestati raditi bez neke vrste intervencije.
  • Cron skripta temelji izvršenja: svakih x minuta cron daemon započinje poziv na skriptu da se stvari događa. Bez neke provjere to bi moglo dovesti do mnogo mnogo kopije svojih radnika skripta izvodi.

Moja odluka je bila da ide s cron koji započinje shell skripta svakih 10 minutes. Moj shell skripta obavlja sljedeće zadaće:

  1. Nabavite popis procesa i to za grep 'php'. Ako ne onda pronađen nastaviti.
  2. Nazovite vaš posao kod, u mom slučaju to će biti nešto PHP temelji
  3. Radnik skripta završi trčanje
  4. Spreman ići opet na sljedeću odgovarajući poziv

Moj bash skripta izgleda nešto poput sljedećeg:

  #! / Bin / sh
 ako ps ax | grep-v grep | grep php> / dev / null
 tada
     echo "Posao je trenutno obrada, izlaz"
 drugo
     echo "Posao nije pokrenut, pokrenite sada"
     php yourJobProcessingScript.php
 fi 

Napomena: echo-a su gotovo potpuno besmisleno, ali može pomoći sljedeću osobu koja dolazi uz to probati i urediti ih.

To zaključuje postaviti radnika virtualni stroj, brzo, jednostavno i lako kopirati za svaki novi komad hardvera koji je primio. The 'domišljatosti' od grid sustav stvarno nije u vizualizirana OS, sve je to učiniti s kodom kreirana za obradu radnih mjesta, posao konfiguraciju, i pazeći da se posao radi kada je to primjereno (tj. kad je domaćin miruje ).

Postavljanje sustava Windows da Initialise radnika

Prvi zadatak je riješiti naredbu potrebni za pokretanje virtualnih računala iz linije prozora naredbu. Ako ste instaliran VirtualBox na zadano mjesto, a vi ste imenovali svoje radnik GridMachine zatim naredbu potrebno za učitavanje gore vaš radnik:

  "C: \ Program Files \ sun \ VirtualBox \ VBoxManage.exe" startvm GridMachine 

Međutim pokrenuti skriptu u "bezglav" stanje trebamo koristiti:

  "C: \ Program Files \ sun \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - vrdp = off 

To će pokrenuti virtualni stroj bez GUI i ostavite ga da se spasiti državne graciozno. Drugi argument isključuje RDP tako da nije u sukobu sa sustavom Windows RDP, ili vam dati poruku o slušanje na portu 3389. Virtualni stroj ime je velika i mala slova!

Dalje, mi ćemo morati postaviti prozore do kick off naš djelatnik VM jednom stroj miruje. Da biste to učinili (na Windows XP), morat ćete otići Start -> All Programs -> Accessories -> System Tools -> Scheduled Tasks kao ispod:

raspored zadaća

Sljedeća kliknite na 'Dodaj Raspored Zadaća' slijedi pregledavati dodati prilagođene program. Dođite na svoj VBoxManage skriptu i kliknite U redu. Raspored vaš zadatak za bilo koju od opcija (mi ćemo promijeniti u minuti) i nastaviti. Nakon što je preskakanje sljedeći zaslon Windowsi će vas pitati koji želite pokrenuti ovaj zadatak, ja bih predložiti bilo "Administrator" ili stvaranje novog privilegirani korisnik. Sjetite se ne želimo miješati sa standardnim osoblje račun na stroju u bilo kojem trenutku. Kliknite Next i provjerite prikazuju napredne mogućnosti za ovaj zadatak.

Do kraja pokrenuti textbox dodati naše 'startvm GridMachine' string i osigurati da se izvodi samo kada prijavljeni ostaje unticked. Posjetite raspored zadatak sljedeći i promijeniti raspored padajući na opciju 'kada miruje', odaberite količinu vremena želite stroja biti praznog hoda prije prelaska na sljedeću karticu.

Konačno Odznačite opciju u kojem se navodi zaustaviti zadatak, ako je pokrenut X iznos od vrijeme, ali ne označite opciju da se zaustavi zadatak ako stroj nije više u stanju mirovanja.

raspored

To je tada za instalaciju sustava Windows host!

Sažetak

U ovom dijelu smo postavili virtualni stroj djelovati kao radnik, kao i način na koji ćemo pozvati i izvršiti naše skripte posao obrade (za sebe PHP skripta). Odavde ćemo pogledati kako postaviti našim kopije sustava Windows start up virtualni stroj u bezglav mode kada je računalo postaje nezaposlen, i spremi svoje stanje kada korisnik nastavlja korištenja stroja. Nadam se da u ovom trenutku vidite kako jednostavan posrijedi je postaviti takav sustav i svrab da biste dobili neki eksperimenti se ide!

Sljedeći put

U Dio 4 mi ćemo biti obličje at pomoću alata kako bi se osiguralo da ste trčanje najnoviju verziju koda i izvora podataka, tako da dobiveni rezultati su uvijek up-to-date s najnovijim poslovnih informacija i logike.

Ured Grid računarstvo uporabom virtualnih okruženja - Dio 1

By Steven Lloyd Watkin , petak 4. prosinac 2009 11:23

Uvod

Radim u tvrtki u kojoj smo pokrenuli mnoge batch obrada radnih mjesta milijune zapisa podataka svaki dan i Razmišljao sam nedavno o svim strojevima koji sjede okolo svaki dan radiš ništa za nekoliko sati. Ne bi li bilo dobro kad bismo mogli koristiti one strojevi podupirati procesorsku snagu naših sustava? U taj niz članaka idem gledati na potencijalne koristi od zapošljavanja ureda mrežu koristeći virtualiziranog okruženja.

Kao PHP developer ću koristiti alate koji mogu koristiti svaki dan, naime, Linux, mySQL , PHP, VirtualBox i subverzija (SVN). Međutim, Nadam se da ovaj vodič će prilagoditi na druge jezike i tehnologija jednako dobro.

Rješenje sam dati će se vrlo labavo ovisno o vrsti prerade bismo treba postići, međutim to ne može biti istina kroz cijeli članak jer ću promijeniti stvari za jednostavnost, ili da proizvode više zanimljivih scenarijima uporabe.

Ove virtualiziranog okruženja koje će se izvoditi na Windows strojevima jer to je ono što većina ureda pokrenuti. Obrade da uredskih strojeva ne bi trebali ometati osoblje pomoću tih strojeva, treba ne zahtijevaju održavanje u stroj, i biti lako razmjestiti nove strojeve čim postanu dostupni. Također, novi virtualni strojevi ne bi trebali zahtijevati bilo kakve dodatne konfiguracije, jer to uvelike smanjuje skalabilnost i lakoća kojom mrežnom sustavu može se produžiti.

Zašto uputiti Grid Computing Office?

Prvo vam svibanj biti razmišljanje, zašto ne samo koristiti računalnih resursa oblak, kao što su Amazon EC2 platformi ? Pa razloga bi moglo biti nekoliko, primjerice:

  • Nećete povjeriti određene podatke na okoliš cloud computing
  • Ne možete staviti određene podatke u cloud computing okoliš za pravnih razloga (npr. podaci izlaska iz zemlje), potencijalno za pravnih razloga, npr. NHS zapisa.
  • Možete ištanje to držati tvoj procesne jedinice u blizini i imaju potpunu kontrolu nad hardver previše
  • Nemate sredstva za pokretanje projekta oblak instance
  • Vaš ured nema vezu s internetom te stoga nije moguće koristiti oblak resurs
  • Vi ne poput kiše, oblaka sugeriraju kiše, stoga se držite podalje

Siguran sam da bi popis mogao nastaviti, ali mislim da je to dovoljno za sada.

Prednosti Grid Computing Office

Pa, dozvoljava napraviti neke matematike (i fizike u pravom stilu omogućuje da neki brišući pretpostavke). Zamislite da imate veliki debeo obradu poslužitelj trčanje 100 radnih mjesta dnevno. U vašem uredu imate 50 strojeva koji su miruje 16 sata na dan, svaki od ovih strojeva je 10% kao snažan kao debeo obradu Sever. (Svi rezultati ovdje su zaokruženi na podcijeniti povećanje performansi).

Dakle, 1 stroj * 10% snage * 2 / 3 vremena = 0,067 odnosno 1 desktop obrade u vrijeme nezaposlenosti mogla proces 6 puna radnih mjesta dnevno.

Ako sada skali ovo gore to traje 15 nezaposlen stolna računala obraditi što veći broj radnih mjesta dnevno kao svoj ​​glavni obradu poslužitelj radi.

Dakle, u našem se pretvarati ured od 50 strojeva možemo povećati našu snagu obrade od 1 server i do 4 pune obradu poslužitelja, ili bismo mogli biti za preradu 400 radnih mjesta dnevno umjesto 100.

Obavijest, bez ulaganja u novi hardver vaša tvrtka upravo je povećao svoj ​​batch obrade kapaciteta 4 puta! Potencijalno ćete povećati svoju moć korištenje, ali u većini uredima sam bio na strojeve uglavnom ostaju preko noći na ionako, tako da možete vidjeti ovaj kao zelene inicijative.

Ostale prednosti također znači da je ulaganje u nove (ili ažurirati) obrada poslužitelji mogu biti odgođeno ako vaš ured strojevi su dovoljni i da kao što ste poboljšati snagu svog uredskih strojeva vašeg ureda mrežu postaje moćniji automatski.

Tehnologije

Što vam treba? (Ili točnije ono što sam koristiti):

  • Idle uredskih strojeva (u mom slučaju laptop rezervni stari Windows XP)
  • VirtualBox (ili neki drugi softver za virtualizaciju klijenta)
  • Virtualni stroj sa PHP, mySQL running trčanje smanjiti OS, zovem ove moje Limp servere:)
  • Jobs pokrenuti
  • Job poslužitelj (može biti još jedan virtualni stroj negdje)

Tipični poslovi

Vrsta posla da je ovaj sustav dizajniran je za pokretanje je kako slijedi:

  • Sustav prima popis podataka na temelju kojih trebamo utakmicu i vratiti rezultate
  • Odgovarajući uključuje provjeravanje / traži više (prilično statički) izvori podataka
  • Rezultati iz izvora podataka može zahtijevati daljnje provjere valjanosti, spajanje, provjeru dodatnih izvora podataka kao odgovor na rezultate
  • Podaci se vratio s podudaranje zapisa, u potpunosti provjereni i obrađeni
  • Svaki zapis u posao je neovisno od ostatka

Tako je u osnovi gledamo trčanje radna mjesta koja zahtijevaju mješavinu baze podataka lookups i neki broj crunching, prilično tipičan scenarij u poslovnom okruženju.

Grid rješenja nisu samo korisno za obradu radnih mjesta ove vrste. Uglavnom, bilo koji proces koji se može podijeliti na neovisne jedinice mogu se izvoditi paralelno. Pogledajte ovaj wikipedia za primjere i više informacija: Grid računarstvo , ali je nekoliko poznatih primjera su SETI @ home i BIONC . Postoje okviri za trčanje računarstvo mreže, a to su kvalitetno vrijedan obličje.

Što ćemo postići?

Do kraja ove članke nadam se da ću pokazati da uvođenje ured mreže ne mora biti iznimno skup ili dugotrajan. Im 'idući u raspraviti:

  • Postavljanje sustava za kontrolu, posao konfiguracija
  • Stvaranje odgovarajuće obrade virtualni stroj
  • Kako postavljanje sustava na Windows stroj
  • Osiguranje koristite najnovije koda i podataka
  • Deployment i benchmarking
  • Gledajući naprijed

Ja ću biti zgrada (ok sam sagradio, tada je to napisao) primjer aplikacija za testiranje koncepata na lokalnom računalu koristeći Windows XP i moj 'GridMachine' virtualni stroj. Moj posao server kontrole će biti moj glavni stroj koji traje Fedora 11 .

To je značilo da ni na koji način pokazati potpuno radno robustan sustav, njegova je značilo više od demonstracija i raspravlja pokazuju da se takve stvari se može postići u relativno kratkom vremenu i uz male troškove. Slobodno pošaljite mene bilo kakve komentare, ispravke ili poboljšanja i ja ću obaviti moj najbolji to držati ovaj članak ažuriran kako bi se slagala.

Sljedeći put

U dijelu 2 ja ću početi gledanjem u sustav kontrole posao, i pogledajte u koliko radnih mjesta bi trebao biti konfiguriran kako bi se postigao najveći iznos za obradu, dok bi se osiguralo da svaki posao obrađuje bez iznimke.

Ured Grid računarstvo uporabom virtualnih okruženja - Dio 2

By Steven Lloyd Watkin , petak 4. prosinac 2009 11:23

Uvod

Radim u tvrtki u kojoj smo pokrenuli mnoge batch obrada radnih mjesta milijune zapisa podataka svaki dan i Razmišljao sam nedavno o svim strojevima koji sjede okolo svaki dan radiš ništa za nekoliko sati. Ne bi li bilo dobro kad bismo mogli koristiti one strojevi podupirati procesorsku snagu naših sustava? U taj niz članaka idem gledati na potencijalne koristi od zapošljavanja ureda mrežu koristeći virtualiziranog okruženja.

U Dio 1 sam dao pregled sustava i tehnologija ću koristiti kao i raspravlja o nekim od potencijalnih razloga zašto bi želite napraviti ured mrežu.

Upravljanje poslom

Ako tvoj 'idući u biti pokrenut radnih mjesta onda tvoj' idući u potreba neki način upravljati njima. Vaš posao kontrolnog sustava (na svom poslu poslužitelj) treba se stvarno dobro osmišljenog čak i prije nego pokušavate pokrenuti ureda mrežu. Dakle, prvo, što su zadaci za sustav upravljanje poslom:

  • Podijelite posao na zahtjev radnika
  • Recite radnici koju vrstu radnih mjesta za pokretanje
  • Praćenje radnih mjesta
  • Osigurati da se radna mjesta samo su mali jednom
  • Dati posao podatke radnika, ili barem im reći gdje da ga dobijete

Sustav također mora biti rastezljiva, rješenje koje radi za sada u jednom slučaju može biti produžen za pokretanje nekoliko tipova radnih mjesta kao poslovni vidi vrijednost u mrežu rješenje. Na primjer, radna mjesta mogu dobiti prioritete, više od jedne vrste posla mogu postojati (tj. nekoliko kôd osnova), na kraju vi svibanj čak i pokrenuti nekoliko različitih radnik strojeve koji su optimizirani za svaku vrstu posla (iako to ne miče dalje od "generičkih radnik 'Ideja). Uvijek pokušajte razmišljati o budućnosti kada se razvija sustave, kratkoročni vizije može dovesti do frustracija i dugoročno povećala vrijeme razvoja.

Job Server

We're idući u trebate negdje kontrolirati svoje poslove iz, to bi trebao biti jedini sustav u mrežu koja ima fiksni lokator resursa, da se IP adresa, ime hosta, URL (koristeći interne DNS), itd. To je zato što radnici moraju znati gdje se mogu pogledati za radna mjesta, radnici trebaju pronaći posao sustava kontrole (ne sustav kontrole posao naći radnika).

Posao server sam po sebi ne stvarno imati složen zadatak (u osnovni sustav nekako), da treba pohraniti popis radnih mjesta, iz ruke posla, dobiti rezultate, a potom ih spremiti za kasnije pretraživanje. Kako tih dijelova (kao što je "iz ruke posla ') su definirane može biti vrlo osnovni. Kasnije možemo proširiti sustav uključiti administracijsko sučelje za dodavanje, uređivanje, brisanje, obustaviti radnih mjesta, ali to je izvan ove vježbe.

Nema razloga onda da svoj posao server nije mogao biti virtualni stroj trčanje u vaš glavni obradu server pod uvjetom da ne izbacuje vodu previše sredstava iz njega. Posao poslužitelj međutim ne treba visoku dostupnost, ako se ide dolje u petak navečer ćete izgubiti cijeli vikend obrade, potencijalno vas koštalo par tjedana vrijedi procesorskog vremena (kada je u odnosu na svoje glavne obradu server sama) . Vi svibanj ištanje to uzeti u obzir stavljajući svoj posao server na teret uravnotežen okruženje za visoku dostupnost.

Osnovni Postava

Osnovne postavke za naš posao server će se sastojati od ono što sam poziv jedan od mojih Limp servera (koji je Li Nux, m ySql, P KS). Koda koji se izvršava na Thea radnici će zapravo raditi ono što posao se može pokrenuti interakcijom s posla s bazama podataka sustav kontrole. Kasnije smo mogli napraviti web servis i zapravo ruku radnih mjesta nego što su radnici učiniti teško raditi sami, ali za sada ćemo nastaviti koristiti KISS princip (Keep it Simple, Stupid!).

Dakle, omogućuje stvaranje tri mySQL tablice da se bave poslovima. To će biti 'radna mjesta', 'jobRecords `i` jobResults'.

radnih mjesta stol Ovdje Im 'koristeći SQL Buddy veliki mali alternativa phpMyAdmin samo zato što je lakše instalirati na CentOS (za drugi vide: 10 Veliki alternativa phpMyAdmin )

Ova tablica se sastoji od 5 jednostavnih polja,

  • ID: jedinstveno identificiraju posao
  • Ime: Mogao bi biti klijent referenca ili bilo koji broj drugih identifikatora
  • Status: Morate znati gdje je posao na, npr.
    • 0: Nije počeo
    • 1: Pokupila
    • 2: Završene
  • started_by: Tko je počeo raditi taj posao? To nije u potpunosti potrebna, ali je lijepo imati. Htio predlažemo praćenje radnika po njihovu IP adresu na mreži
  • started_at: Kada je radnik započeti posao? Praćenjem poslove koji nisu završili u X iznos od vrijeme znamo trebamo pokupiti posao ponovno i započeti obradu drugi radnik. Radnici bi mogao zaustaviti obradu / go Pogledaj za bilo koji broj razloga, napajanja, sudar, mreža gubitak, itd.

Lako je kako ovoj tablici može biti proširena s nekoliko dodatnih polja kako bi se omogućilo praćenje za statistiku, stupac završiti na vrijeme da vidi koliko dugo je posao, brojač da vidim koliko radnika pokupila posao (očito ovo treba da imaju tendenciju da 1), posao prioriteta, popis može ići na i na. U složenijim posao scenarija to će biti moguće odrediti koliko memorije radnik bi trebao pristup (i stoga koristiti samo prikladne radnika), ili čak i kakvu vrstu radnik će biti potrebna.

Omogućuje dodavanje nekoliko primjer u graditeljstvu:

primjer poslove

Sljedeća tablica ponovno je prilično jednostavan za shvatiti, oni su svoj posao zapisa. Oni su povezani s glavnim poslove tablici stupac "jobs_id '. Čine ove tablice jako puno ovisi o podacima koje trebate dostaviti na svoje radnike, omogućuje da vrlo jednostavan primjer, gdje imamo četiri stupca:

  • ID: ID rekord
  • Ime: ime osobe
  • adresa: Osoba adresu
  • jobs_id: posao ID koji ovaj zapis je povezan s

Treći i finalni stol sastoji se od rezultata stola, to je puno isto čine kao naše evidencije stol, a uz dodatak nekih stupova može biti dio zapisa tablici:

  • job_record_id: Link rezultat na posao stol
  • Rezultat: Rezultat podataka

... I to je sve što je potrebno za posao kontrole! (Iako u vrlo osnovni nivo) U mom slučaju ja sam ukazao na drugu tablicu, gdje moje podatke obraditi bila smještena, ali to bi moglo jednako lako su datoteke, parametri za pokretanje simulacije kod, ime ti je.

Odabir posla

Kao što je navedeno ranije, radnici će raditi naš menadžment posao za nas, za sada, tako da svi trebamo stvarno učiniti je pronaći posao koji treba obrada i dobiti informacije. Kako bi smo to učinili? Pa pokupiti naše kriterije odabira posao i traže posao, u SQL sam sljedeće:

  1. Uzmite bilo koje poslove koji nisu označeni kao potpuni, ali iz naših radnika i resetiranje ih (zamjena __ME__ s identifikatorom, najlakše bi se IP adresa):
      UPDATE 'radnih mjesta' SET 'status' = 0 gdje je 'status' = 1 I `started_by '= __ME__; 
  2. Koristeći naše kriterijume posao odabir, odabrati posao i reći da je ovaj sustav kontrole radnik bavi se:
      UPDATE 'radnih mjesta' SET 'status' = 1, 'started_by' = __ME__, `started_at '= NOW () gdje je" status "= 0 ili
     ('Status' = 1 I `started_at '> DATE_SUB (sada (), interval X HOUR)) ORDER BY` id `ASC; 

    Hvatajući poslove koji nisu vratili rezultate u X iznos od vrijeme mi se osiguralo da su svi poslovi izvoditi u slučaju radnik pad ili ide AWOL.

  3. Sljedeća zgrabite posao detalji slijede evidenciju sami:
      SELECT * FROM `radnih mjesta 'gdje je" started_by' = __ME__ LIMIT 1;
     SELECT * FROM `job_records` WHERE `id` = __JOBID__; 

Po završetku posla mi umetnuti naš rezultat bilježi i označite posao završi. Sjeti se što su radna mjesta može obustaviti / nastaviti u bilo koje vrijeme dopustiti za neke robusnosti u svom pismu. To bi moglo biti da je zadatak obustavio pola puta kroz ažuriranje sustava za kontrolu, tako da provjere broj zapisa u posao i broj rezultata spremljene natrag u sustav za upravljanje će biti mudar potez.

Osim toga, dok ovo pokazuje kako se radna mjesta mogu se odabrati i upravlja s SQL-upit frame ti stvarno treba biti apstrahiranja svoj ​​posao kontrole, tako da ako odlučite da biste išli na korištenje web-usluge, datotečni sustav, XML , ili bilo koje druge broj sustava to neće utjecati na broj iznad njega.

Job konfiguraciju

Sljedeći aspekt razmotriti je posao veličina i konfiguracija. By igranje s posla konfiguraciji možemo štrajk izvrsnu ravnotežu između brzine, procesa replikacije, i pouzdanost. Uzmi par ofa scenarija:

  1. Poslovi uzeti jedan dan svaki pokrenuti: To znači da vaše radnici trebaju 15 dana za proces svaki posao (sjetite se 10% energije za 2/3rds vremena). To očito nije mudar konfiguraciju, vaš posao je veličina način prevelika! Bilo bi potrebno najmanje dvostruko više vremena da biste dobili posao obrađen treba inicijalne radnik ide AWOL (vrijeme podići da nije vratio rezultat plus preradu vrijeme). U idealnom youd 'imati najmanje jedan puni posao lako uklonjena do kraja svakog dugog razdoblja mirovanja, na taj način zadržite posao navlake preko, au najgorem slučaju posao bi se dva dana da bi proces trebao prvi otići nedostaje.
  2. Poslovi uzeti 1 minutu na trčanje: To znači da vaše radnici potrajati oko 15 minuta pokrenuti svaki posao. Dok ovo u početku može činiti idealnim, dobit ćete dodatne obrade posao u vrijeme ručka, kavu u stankama Kongresa, sastanci, itd. ovaj scenarij stavlja pritisak na druge dijelove vašeg sustava i uvodi vlastite probleme. Na primjer, prvo tvoj setup / vrijeme obrade omjer je idući u ići desno dolje, dakle gubitka učinkovitosti sustava. Vaša mreža je idući u biti stalno streaming posao informacije raznih radnika frustrirajuće osoblja, koji su dong svom svakodnevnom radu. Također ćete uložiti više pritisak na vaš poslužitelj posao prerade kao što je na jelo na puno i puno malih komada rad na regularnoj osnovi. Konačno, u ovoj situaciji ako je vaš posao poslužitelj odlazi dolje idete stvoriti veliki povratak dnevnik nedovršenog posla pri čemu se veći radnih mjesta mogao i dalje obrade blaženo nesvjestan da posao server je bio poteškoća.

U stvarnosti neće biti nitko idealna konfiguracija za grid postavke, puno ovisi o raspoloživim resursima, vrsta posla, radno vrijeme obrta zahtjevi, mreže sposobnost, i tako dalje. Međutim, neke smjernice će biti:

  • Veličina radnih mjesta, tako da svaki radnik može dobiti kroz najmanje 3-4 novih radnih mjesta u roku od 15 sati (najduže razdoblje mirovanja vjerojatno)
  • Igrajte se s posla veličine, tako da postava vrijeme postaje prilično beznačajan u odnosu na vrijeme obrade (imajući u vidu gore navedene točke).
  • Ako se posao ne završi u dvokrevetnoj iznos od vrijeme (možda i manje), možete očekivati ​​da popunite pretpostaviti da je njegova nestala AWOL i početi obradu s drugim radnik. To znači da ćete možda morati pričekati i do tri puta normalna duljina posao za to dovršiti (moguće više, ako naknadno posao ne uspije). Vi svibanj želite smanjiti ovo vrijeme, ali budite oprezni da ne smanjiti previše kao što se može početi umnožavanje obradu zadaće na regularnoj osnovi.
  • Posao bi trebao biti neovisan o vanjskim zahtjevima u najvećoj mogućoj mjeri. Posao poslužitelja, na primjer, samo treba biti kontaktirani na početku i na kraju svaki posao.
  • Ne zasititi vaše mreže, to će imati dvije negativne posljedice, vaše dnevne osoblje će pronaći putem mreže frustrirajuće i problemi mogu biti iskusan s priključcima vremena se problem koji će samo pogoršati kao što ljestvice tvoj mrežu.
  • Osigurati radna mjesta mogu se izvoditi na vašem radnika. Ako se radna mjesta postati previše intenzivno memorije ili diskovnog prostora intenzivne poslove će početi rušim i jedina stvar koju ćete primijetiti je pad broja radnih mjesta obrađeno bez pravi razlog zašto.

Podnošenje Rezultati posao

Pri podnošenju rezultate posao važno je da provjerite da rezultati nisu poslali još jedan radnik, pogotovo ako trenutni radnik je bio neaktivan neko vrijeme.

Kada rezultati su poslali osigurati da broj rezultata utakmice broj slogova u posao.

Kao što je navedeno ranije, i ne može biti više naglasila, izgraditi tolerancija kvarova na posao pronalaženja i rezultati podnošenje. Radnici mogu (i najvjerojatnije će se) otići u suspend modu u većini nezgodno puta i to treba biti catered for. Također još jednom apstrahiranja daleko vaši rezultati dostavu pomoći će razonoditi za buduće promjene u vašem sustavu kontrole posao puno lakše da se bave.

Sažetak

U ovom section smo gledali na ono što poslužitelj posao kontrole treba učiniti i kako da biste dobili vrlo osnovni sustav postavljen. Mi smo razgovarali o tome kako preuzeti posao iz sustava kontrole i kako najbolje da konfigurirate radnih mjesta kako bi dobili većinu naših vašeg sustava Office mrežu. Da biste završili, stavku ili dvije o podnošenju rezultata natrag poslužitelju posao kontrole je prikazan.

  • Poslužitelj posao kontrole upravlja radna mjesta i osigurava da su sve radne jedinice završena
  • Po apstrahiranja svoj posao select / Rezultati podnošenje možemo promijeniti tehnologiju kontrole poslužitelju bez puno problema
  • Konfigurirajte svoj posao kako bi se osiguralo da su trčanje brzo i učinkovito, bez stavljanja previše pritisak na svoje mrežne infrastrukture, a bez umnožavanje obrade zadataka na redovnoj osnovi.
  • Uvjerite se da ste izgraditi tolerancija kvarova i grešaka checking u svoje rutine, radnici mogu obustaviti i nastaviti, a većina nezgodno puta. Ne zaboravite provjeriti da li rezultati već su poslali još jedan radnik.

Sljedeći put

U dijelu 3 ćemo napraviti naš virtualni stroj za obradu i postavljanje naših prozora strojevi postati mirovanja radnim vremenom.

Ured Grid računarstvo uporabom virtualnih okruženja - Dio 5

By Steven Lloyd Watkin , petak 4. prosinac 2009 11:03

Uvod

Radim u tvrtki u kojoj smo pokrenuli mnoge batch obrada radnih mjesta milijune zapisa podataka svaki dan i Razmišljao sam nedavno o svim strojevima koji sjede okolo svaki dan radiš ništa za nekoliko sati. Ne bi li bilo dobro kad bismo mogli koristiti one strojevi podupirati procesorsku snagu naših sustava? U taj niz članaka idem gledati na potencijalne koristi od zapošljavanja ureda mrežu koristeći virtualiziranog okruženja.

U Dio 4 gledali smo pomoću alata kako bi se osiguralo da smo trčanje najnoviju verziju koda i izvora podataka, tako da dobiveni rezultati su uvijek up-to-date s najnovijim poslovnih informacija i logike.

Preduputne

Prije implementacije vaš mrežni sustav, ako postoji jedna stvar koju ćete napraviti i jednu stvar sam da je mjerilo vaš trenutni sustav! Bez obzira što vam kolege o tome koliko dodatnog rada vašeg sustava je idući u obaviti, osim ako imate brojeve natrag ovaj svoj garancija su ništa. Dakle,

  • koliko zapisa možete procesa trenutno? Po danu? Po satu?
  • Koliko je obično potrebno da se okrene poslu?
  • Koliko više kapaciteta imate?

Tu je i dodatna pitanja:

  • Ako obrade vašeg poslužitelja (ili jedan od obrade vašeg poslužitelja) ide prema dolje kako će to utjecati na vaše sposobnosti, će vam biti osakaćen?
  • Koje su prednosti nadate / očekivati ​​da će dobiti od grid sustav?
  • Jesu li vaše uredskih strojeva sposoban za izvođenje poslova?
  • Jesu li vaše (ili možete biti radnih mjesta pretvaraju) da rade u ovom stilu za trčanje?

Posljednji veliki Stvar je u tome da se vaše vrijeme na bilo velike promjene kao što je ovaj. Update obrade vašeg koda za rad koristeći novu metodologiju, benchmark opet. Možda postaviti obrade vašeg poslužitelja pokrenuti virtualni stroj, nakon što je sve obrade vašeg poslužitelja samo će biti još jedan radnik (samo vrlo snažan jednom relativno). Dopusti novi proces riješiti.

Razvoj

Moj prijedlog bi bio da pop u ured jedan vikend provesti sve instalacije i postava. Učinite to samo prije dva tjedna za odmor i ostaviti tako ostali siromašni čovjek da se bave posljedicama ... možda ne ...

Deployment za sustav poput ovog treba spor. Unatoč ga je relativno jednostavno postaviti ovaj sustav će utjecati na cijeli ured infrastrukture (dobro digitalne jedan). Prvo, razvaljati na par strojeva u isto vrijeme, prati mrežni promet, kako radnik domaćini nastupaju na dan-to-day osnovi. Možda ćete morati promijeniti svoj posao konfiguracije kao odgovor na svojim otkrićima.

Nakon što je sustav naselio s nekoliko strojeva (recimo 10% svih uredskih strojeva, odnosno 5) zadržati nadzor mrežnog prometa i domaćin stroj performance. Next benchmark opet, sada bi trebao biti prerada 33% više radnih mjesta nego vaš prvi mjerila. Provjerite je to tako, ili da ste barem u ovom približan. Ako ne, istražiti što se događa prije nego što se kreće dalje. Ponavljajte taj ciklus sve dok ne sretno sve uredskih strojeva trčanje bez ubijanja pojedini Stroj performansi ili brušenje mrežu do zastoja.

U svakom trenutku držati usporedbe, čak i nakon svih implementacije su napravili. Provjerite kako novi kod ažuriranja utjecati na brzinu vašeg sustava, provjerite svi radnici su izvještavanje i obradu radnih mjesta. Polako (polako), prirast svoj posao konfiguraciju da biste dobili najbolje iz svog radnika i mreže.

Stop!

Što ako želite da se zaustavi svoj radnika iz trčanje na neko vrijeme? Oni su svi vani trčanje, regeneraciju, i pokušava njihov najbolji za obradu podataka kao što su gladni kukaca. Odgovor svibanj činiti se očigledan ali je vrijedno dodavanja samo u slučaju njegove previdjeti. Jednostavno uredite obrade vašeg pisma s izlaz (0) ili umrijeti () ili neke druge izjave da će ubiti obrade vašeg posla. Važan razlog zašto mi uvijek pokušati ažurirati na najnoviju obradu scenarij prije nego što bilo trčanje!

Demonstracija sustava

Da bi se napisati ovaj skup kratkih članaka koje sam stvorio vrlo male mreže pokazati tehnologije i metodologije. Pročitao sam mnogo članaka, tutoriala, i koristiti razne alate za postavljanje i pratiti što se događa. Nipošto sam otišao van i zasićenih cijeli ured s prometom, a niti sam imao pristup redovitim osoblje PC vidjeti kako domaćin izvedba bila zahvaćena.

Moj demonstraciju sustava je bio vrlo skroman dapače. JA iskorišten moj redoviti desktop postaviti kao server posao kontrole. Na ovaj sam imao instaliran mySQL server instaliran postaviti kao master u replikaciju, PHP , A i SVN povezani kroz apache (za pristup preko radnika VM).

I onda stvorio CentOS radnik stroj na VirtualBox na 6 godina stari Windows XP laptop. Ja setup zakazani zadaci kao što je navedeno, nakon kopiranja VM na stroj i pustiti ga otići.

Virtualni stroj je postavljen s PHP, subverzije i mySQL. JA ček vanjska strana ogranak pod nazivom 'radnik' iz mog servera posao kontrole repozitorij i je napravio siguran to bi moglo biti obnovljeno pomoću 'svn update'. Dalje sam setup mySQL kao rob i provjeriti da su podaci iz mySQL replicira na serveru posao kontrole do radnik VM. Nakon svega toga sam postava bash skriptu i cron job.

Moja prerada skripta u osnovi je otišao zajedno linije (vrlo jednostavan stvari):

  • Pročitajte u polje Ime
  • Broje broj sličnih imena u tablici iz izvora podataka se održava na VM
  • Broje broj imena kao gore, ali jak ime razmacima (npr. prezime, srednji, prezime)
  • Ponovljeni proces 1000 puta

Svaki posao je oko 20 minuta za trčanje. U jednom trenutku sam otvorio nekoliko primjeraka radnika VM na prozorima laptop i gledao radnih mjesta biti provjereni od strane svakog radnika IP adrese. U ovom trenutku mi je također potvrdio da je replikacija automatski ponovo pokrenuti.

Ostavljajući laptop miruje rezultiralo radnik počinje proces poslove s poslužitelja upravljanje poslom. Kod nastavka vraćanja laptop korištenje bilo je kašnjenje od oko 30-60 sekundi, to je fer iznos od vrijeme i osoblje bi trebalo biti svjesni da je njihov stroj može zaustaviti za kraće vrijeme, kada se vraćaju u stroj. Noviji strojevi ne mogu imati pauzu od ovog duga. Korist u iznosu od obrade u izvedbi ovih strojeva tijekom razdoblja mirovanja će prevagnuti da više članova osoblja da čekaju kratkom razdoblju (recimo 1 minute), po dolasku na svojim računalima od jutra (ja često duže čekati da to za Windows Defender ažurirati kako bi se mjestu) pod uvjetom da su svjesni toga (korisno vrijeme da zgrabite jutarnju kavu!).

Ukupni osjećam uvjeren da sam pokazao tehnologije koja bi se mogla koristiti za stvaranje takvog sustava. Ja sam pokazala da takav sustav ne radi na (vrlo) male i sa nekim više eksperimentiranje može skalirati do koristiti resurse ureda u strojeve. Ako ne dođete do točke da to bih biti vrlo zainteresirani da znaju / vidi kada netko drugi ne.

Zaključci / Ocjena

Sljedeći korak će biti očito da se zapravo dobiti stvarnom svijetu primjer i početi implementaciju sustava kao što je ovaj u uredima i vidjeli što se događa. Postavljanje poslovne obvezati da to bez staza gorući tvrtka dokazati tehnologiju i učinkovitost može biti malo teško. Grid / Distribuirano računarstvo je vrlo popularan je nekim krugovima i ima neke velike aplikacije (BIONC, SETI @ Home, Folding @ Home, itd). Nisam, međutim, naći u manjem opsegu i jednostavan sustav kao što je ovaj u mom pretraživanja koji bi mogao biti namotan vanjska strana u uredskom okruženju.

I stvorio je u osnovi slobodan sustav koristeći uglavnom open source softver i alate dostupne u gotovo bilo kojem uredu. Tehnologije u osnovi su pokazali i pokazuju da obavlja i rade kako treba. Nadam se da sam pokazati da je s ne puno raditi i uz vrlo jednostavan postava možete implementirati računalni sustav ured mreža koja je moćna, jeftin, a i skalabilne sve u isto vrijeme.

Nakon što je sustav gore i trčanje gotovo da nema kraja u iznosu od prilagodbe i poboljšanja možete učiniti. Na primjer statistika / usporedbe mogu se jednostavno dodati prikazuje vrijednost takvog sustava svaki dan. Novi strojevi mogu biti dodane brzo i jednostavno kao i kad stignu i nadogradnje postojećih hardver jačanje obrade vašeg moć.

Nadam se da ste uživali čitajući ovaj niz članaka i dao hranu za razmišljanje o pokretanje sustava Office mrežu. Rješenje predstavljen ovdje neće nužno raditi u svim situacijama, ali treba biti prilagodljiv kako bi se omogućilo da se vaše podatke preradu koja je obavljena koristeći svoje vlastito rješenje.

Slobodno pošaljite mene bilo kakve komentare, ispravke ili poboljšanja i ja ću obaviti moj najbolji to držati ovaj članak ažuriran kako bi se slagala.

Zend Framework: Osnove - Pregled

By Steven Lloyd Watkin , subota 28 studeni 2009 10:42

Moj poslodavac je nedavno platio za grupu od nas programeri uzeti Zend Framework: Osnove Naravno, ovdje ću prikazati moje misli i mišljenja na tečaj za druge. Za one koji žele uštedjeti vrijeme, ovdje je moj sažetak:

Za programere koji nisu imali vremena pogledati na Zend Framework ovog tečaja (Zend Framework: Osnove) nudi dobru opću sliku okvira vas uvodi u ključnim područjima i daje dovoljno informacija kako bi nastavili. Za one koji su proveli vrijeme gleda na okvir i zatim jednu ili dvije lekcije ovaj tečaj ne nudi mnogo više od toga.

Pozadina

Ive 'bio PHP programer za oko 5-6 godina, i počeo raditi sa Zend Framework na osnovi komponente u posljednjih 6 mjeseci. Ja sam razvio i / ili je developer na par malih Zend Framework MVC sites. Ja ću biti iskren, nisam imao veliku količinu izloženosti drugih okvira sa kodiranja točke gledišta, ali su je proveo nekoliko sati istraživanja projekta web stranice i vrednovanje them. Okviri i okolnih zajednica Zend Framework je prilično uzbudljivo, a čini se da velike mogućnosti u gdje je njegova ide.

O tijeku

Tečaj se isporučuje preko 9 dva sata WebEx sjednice (s 10-ak minuta pauze u sredini). Vrijeme je proveo prolazi kroz niz slajdova koje Zend s raspravom u bilo koje vrijeme. Možete koristiti mikrofon da razgovaraju s instruktorom, ali da budem iskren nisam vidio ništa bilo tko koristiti više nego u prozor za chat. Uz stroj VMWare Ubuntu je pod uvjetom da je primjer koda i projekata postaviti probna verzija Zend Studio. Voditelj tečaja sudionicima razgovora ili preko integriranog VoIP rješenje, ili možete nazvati na jedan od mnogih u svijetu brojčanik u brojkama.

Tijekom materijal sastoji se od kratak pregled okvira i MVC pattern prije odlaska u primjeni uzorak knjigu gostiju. Rasprava pokazao pokretački, Zend_Application, Db Stolovi, pristup bazi podataka, obrazaca, filtriranje, ACL, Validating, itd, itd. Uglavnom pokriva sve teme koje bih zahtijevaju da se osnovna stranica se prikazuju cijelo vrijeme dajući vam alate za otići i dobiti više napredovala u okviru (iako ovo nije iznos 'Vidi web mnogo vremena).

Time se daje kod neke primjere, te razviti "guestbook" i jednostavno 'wiki' aplikacija. Osobno sam osjetio da je pod uvjetom da je kod ili svaki app i onda pita nas da razviju ono što je zapravo primjerak uz nisu stvarno pružaju dobru iskustvo učenja. Ja bi radije da se razvije aplikacija sličan, ali ne i identični. na primjer aplikacija sa Prednost vodič se odnosi na. Alternativno izgradnju aplikacija ispočetka s demonstrator bi eventualno dovela do više pitanja o tome zašto i kako, dajući time bolje razumijevanje okvira, nakon što sve možete potražiti specifičnosti nakon tečaja.

Posljednje predavanje se sastojao od rada na wiki aplikacija uz pomoć / upute od instruktora. Nakon tečaja komentare uzet, istaknuto je nekoliko puta kroz tečaj koji traje Zend povratne informacije vrlo ozbiljno, u stvari, očito naša verzija tečaja bila je prilično nova. Neki od ostalih developera u društvu će biti uzimanje tečaj uskoro tako da će biti zanimljivo vidjeti hoće li se to dogodilo.

Tečaj stil je bio neformalan, dozvoljeno za povratne informacije i suradnju između sudionika i instruktora. Voditelj tečaja je bio prijateljski, pristupačan (e-mail adrese su zajednički za pitanja), i dok njegove prezentacije iz slajdova bio malo klimav činilo potpuno nadležnih u okviru. Očito je bio netko tko je koristio okvir na redovnoj osnovi, a ne netko tko je učio da naučiti, naravno, sam volio 'stvarnom svijetu iskustva u tom pogledu.

Opći osjećaj

Na neki način sam našao tijekom otpada vremena, u drugima je bio vrlo zgodan. Nadam se da ću dobiti moj preko razloga jasno, a možda pružiti neke hrane za misli i korisne povratne informacije (znajući mene je to malo vjerojatno!).

Za mene ovog tečaja bio je usmjeren na preniska razina. Nakon što je prošao kroz QuickStart vodič, pročitajte Rob Allen's Zend Framework na djelu, i radio s okvirom malo nisam zaista dobiti ništa previše. Ja bih volio od tečaja za pokupiti od kraja QuickStart i razviti dodatne vještine.

To je rekao, naravno naslov se jasno stanje "Zend Framework: Osnove" i na taj aspekt naravno postiže ono što ga postavlja za napraviti. Ostali članovi razvojnog tima koji nisu proveo vrijeme u potrazi u okviru završio svake sesije s entuzijazmom i pitanja što je stvarno lijepo za vidjeti.

Svi nije izgubljen, to je dobro potrošiti vrijeme potvrđuju osnovne podatke o sklopu i doći do pitati par pitanja u područjima gdje nisam bio 100%. To je također vrijeme kada sam ja sjesti svaki dan i razmišljati o kodiranje pomoću okvira i buduće projekte, nešto što bih ne bio u mogućnosti to učiniti na drugi način (možete li zamisliti svoju tvrtku pristajete na to:)). Posljednje, ali ne i najmanje važno, vi ćete dobiti potvrdu od Zend lijepo reći da ste prisustvovali tečaj (iako putem e-maila).

Zend Framework certificiranje

To je jedno pitanje koje je zadržao dolaze na pamet tijekom, bi li mi pripremiti za certifikaciju? Brzo, jednostavno je velik br. Naravno, instruktor je sasvim jasno na koji s dodatnim savjetima da za certificiranje te bi trebao stvarno biti koristeći okvir na osnovi dana u dan i osjećam se vrlo ugodno i uvjereni u njegovu korištenju i metodologija.

Sažetak

S obzirom na sve što sam napisao gore, ja ću rezimirati sve što je u dva jednostavna bullet bodova:

  • Novi na Zend Framework: Ovaj tečaj čini upravo ono što očekujete, to vam daje lijep uvod u okvir i dobro uzemljenje u osnove iz koje možete izgraditi. Naravno Čini se da generirati interes i entuzijazam za okvir među programerima.
  • Koristi Zend Framework: Dok je lijepo obali neke od vrlo osnove sam osjećao vrijeme, trud i sredstva da se tijek mogao i bio bolje proveo drugdje. To će biti lijepo see Zend stvoriti novu višu razinu tečaj programere na sljedeću razinu - barem na standard certificiranja i izvan nje odmah. Za to bih se prijaviti.












Panorama Theme by Themocracy

4 posjetitelja online aukciji
3 gosti, 1 robota, 0 clanova
Max posjetitelja danas: 23 u 4:19 UTC
Ovaj mjesec: 26 at 2011/07/05 12:35 UTC
Ove godine: 130 u 28-03-2011 10:40 UTC
Sva vremena: u 130 28-03-2011 10:40 UTC