Kategoria: Komputery

proxy Apache z uwierzytelniania szyfrowanego

W Steven Lloyd Watkin , niedziela 27 marca 2011 12:57

Ten post zostanie szybko zorientować się, jak skonfigurować serwer proxy w podstawowe uwierzytelnianie za pomocą apache .

W moim przypadku chciałem mieć transmisji klienta bit torrent dostępne są przez Internet, więc mogłem sprawdzić na temat stanu i pliki do pobrania torrent adminster (takich jak najnowsze wydanie Fedory) w miarę potrzeb. Przekazanie sama prowadzi swoją klienta WWW na porcie 9091 domyślnie. Zamiast przejmować otwarcia kilku portów na mój firewall i dodanie nessecary zasad przekierowania portów postanowiłem chcę tylko połączeń przez proxy do przesyłu przez Apache używając mod_proxy .

Kontynuuj czytanie "proxy Apache z digest authentication" »

Zend Framework: Render Jeśli istnieje

W Steven Lloyd Watkin , niedziela 12 grudnia 2010 16:19

Podsumowanie

Jest to szybki post, aby omówić dość proste pomocniczej widoku stworzyłem o wydanie Zend Framework pliku stylu wyświetlić tylko, jeśli istnieje. Ogólnie rzecz biorąc, zwracając się do kodu, aby uczynić plik, który nie istnieje rzuci wyjątek. Dlatego stworzyłem otoczka do Zend_View:: render () metoda, która określa, czy plik istnieje i jeśli tak czyni, w przeciwnym razie po prostu zwraca pusty ciąg.
Kontynuuj czytanie "Zend Framework: Render Jeśli istnieje" »

Zend Certified Engineer (ZCE) 5.3

W Steven Lloyd Watkin , czwartek 30 września 2010 21:00

Z oficjalnego wydania z Zend Certified Engineer (ZCE) program do 5,3 Myślałem, że oddałabym szybkie wrażenie, co myślę o egzaminie.

Nieco w tle na mnie: po raz pierwszy wprowadzono do PHP około 7 lat temu i pracował zawodowo w PHP od 2006 roku. Obecnie pracuję w ekscytującą rozruchu nazywa Brightpearl z siedzibą w Bristolu, Wielka Brytania , tworząc zintegrowany CRM, księgowości i oprogramowanie e-commerce. I wcześniej nie uzyskał żadnego z poprzednich kwalifikacji ZCE. I obecnie rozwijają się w serii 5.2.x i naprawdę nie korzystał z żadnych szczególnych 5,3 funkcji (czekam na Zend Framework 2 i Nauki 2) w moich projektach.
Kontynuuj czytanie 'Zend Certified Engineer (ZCE) 5.3 "»

Zend Framework na moduł ustawień układu - Follow Up

W Steven Lloyd Watkin , wtorek 16 lutego 2010 20:48

Jako uzupełnienie do mojego poprzedniego postu na jeden moduł w oparciu ustawienia układu dla Zend Framework , mam zaktualizowany kod do konfiguracji wymaga mniej niż dotychczas (nie, że to wymaga więcej niż kilka linijek w konfiguracji aplikacji!).
Kontynuuj czytanie "Zend Framework na moduł Layout Ustawienia - Follow Up" »

Urząd Grid Computing przy Wirtualne środowisko - część 4

W Steven Lloyd Watkin , piątek 04 grudzień 2009 23:59

Wprowadzenie

Pracuję w firmie, w której prowadzimy wiele miejsc pracy, przetwarzania wsadowego milionów rekordów danych każdego dnia i myślałam ostatnio o komputerach, które siedzą każdy dzień nic nie robi przez kilka godzin. Czy nie byłoby dobrze, gdybyśmy mogli korzystać z tych maszyn wzmacnia moc naszego systemu? W tym zbiorze artykułów mam zamiar sprawdzić potencjalne korzyści z zatrudniania biura sieci za pomocą środowiskach wirtualnych.

W części 3 stworzyliśmy maszynę wirtualną przetwarzania i skonfigurować system Windows maszyn na bezczynność wymiarze czasu pracy.

Uruchamianie najnowszych

Niewątpliwie po utworzeniu firmy pracowników logika się zmieni, zostaną znalezione błędy, szybszy bardziej efektywnego kodu będą produkowane w ten sposób pozostawiając swoich pracowników siedzieli wokół przetwarzania danych przy użyciu kodu stary śmierdzący . Jak więc mamy pewność, że zawsze jesteśmy z wykorzystaniem najnowszych i najlepszych wersji naszego przetwarzania skryptów?

Istnieje kilka prostych sposobów, bardzo łatwo możemy to zrobić, podstęp, jednak jest ograniczenie przetwarzania danych i ruchu sieciowego w realizacji tego celu. Zacznijmy od najprostszych rozwiązań i poprawy powoli w ciągu kilku powtórzeń.

Pierwszym sposobem jest po prostu skontaktować się z naszym serwerem kontroli pracy (poprzez samba, FTP lub podobnych) i ciągnąć w dół najnowszej wersji kodu. Nie bardzo wydajny, ale to nie praca. Pozwala poprawić, że się trochę, jak na temat tworzenia skryptów i korzystania z rsync że za każdym razem zamiast? Ewentualnie co o wprowadzenie naszych najnowszych przetwarzania skryptu w subversion sprawdzanie kodu na początku, a potem po prostu aktualizacji naszego kodu w każdej serii ( svn update )?

W końcu możemy skończyć z skrypt (przez cron co 10 minut), która wygląda tak proste, jak ten:

  #! / Bin / sh
 jeśli ps ax | grep-v | grep php > / dev / null
 następnie
     echo "Praca jest przetwarzanie, zjazd"
 więcej
     echo "Praca nie jest uruchomiony, już teraz"
     cd / ścieżka / do / pracy / kopiowania
     svn update
     yourJobProcessingScript.php php
 fi 

Teraz możemy być pewni, że z każdego biegu jesteśmy zdecydowanie zainstalowany najnowszy kod. Mamy zapewnienie tego poprzez aktualizację bazy kod za każdym razem wykonujemy biegać i ograniczenie ruchu w sieci tylko przez przeniesienie pliku różnic w naszej sieci.

W mojej instalacji demonstracyjnych, zrobiłem dokładnie tak jak powyżej. Subversion został zainstalowany na moim serwerze realizacja zadań i po prostu ściągnął najnowszych od "pracownika" oddział przy użyciu 'svn update'. Dodałem też tag numer wersji do przetwarzania skryptu, który został zwrócony do bazy danych jako część przychodów z wyników. W ten sposób mogę zobaczyć, że mój kod był aktualizowany za każdym razem kopiowane moim pniu w branży, tj. pracownika, że ​​jestem zdecydowanie z najnowszej skrypt przetwarzania.

Korzystając z najnowszych danych

Jeśli realizacja zadań sprawia, że ​​wykorzystanie źródeł danych, a następnie w pewnym momencie te będą aktualizowane zbyt. Jeśli dzwonisz do źródeł danych na podstawie bardzo rzadko będziesz zalewają sieć ruchu, jak tylko swoich pracowników zaczną wniesienia wszystko na postoju. Dla mojego rozwiązania postanowiłem, że chcę przenieść źródeł danych w obrębie z moim maszyn wirtualnych.

Hold jesteś tam konie! Co zrobić, jeśli źródła danych są ogromne? Cóż, to naprawdę jest to w przypadku danych, ile mówimy? Może to być bardziej opłacalne zainstalować dodatkowy dysk twardy na większy każdym komputerze niż na zakup dodatkowego serwera przetwarzania. Jest to kwestia budżetu i jest do działalności na decyzję. To być może, że źródła danych są tak duże, że jej po prostu niemożliwe do utrzymania, że ilość danych w maszynach pracownika. W takim przypadku co byś zrobił? Cóż możemy spojrzeć na powołanie lokalnego serwera danych, ale może to powodować problemy z siecią. W tym przypadku system sieci, takich jak ten może stać się realne, to w środowisku biurowym. Może to być również, że można spojrzeć na alternatywne strategie działa, na przykład tylko dzwoniąc do pracowników między godzina dwudziesta każdej nocy a 6 rano i / lub źródła danych wniosków przepustnicy.

Przechodząc powiedzmy, że nasze źródła danych do kwoty 100 GB danych. No tak to trochę danych do poruszania się po sieci aktualizacji. Jak możemy zapewnić, że mamy najnowsze kopię danych w tym przypadku? Rsync jest możliwe, ale osobiście uważam, uruchamiając źródłem najnowszych danych na serwerze realizacja zadań i skonfigurować w tym mistrzem w replikacji (z ładnym log długo bin) może być droga:

replikacji Przez ustawienie każdego z pracowników się jako niewolnik do aktualizacji kontroli pracy serwera do źródeł danych dotarły ładnie do pracowników bez ogromny wzrost aktywności sieciowej (to jest chyba wykonać duże uaktualnienie danych i wszystkich pracowników w kick na raz). Ten ma przewagę nad rsync tym, że nie dostanie długa przerwa przed każdą pracę, jak aktualizacje bazy danych, mysql demona na pracownika będzie stale aktualizować swoje dane a przetwarzanie jest kontynuowane.

W ten sposób mogę skonfigurować serwer demonstracji. Aby skonfigurować replikację I po instrukcji na stronie mySQL ( Konfigurowanie replikacji ) oraz w ciągu 20 minut miałem Inital pracownik replikacji kontrola pracy serwerów zbioru danych. Dla każdego dodatkowego pracownika ustawienia replikacji i procesu pracy za każdym razem kiedy VM został skopiowany.

Podsumowanie

W tej części artykułu przyjrzeliśmy jak łatwo i bezboleśnie to, aby utrzymać kod przetwarzania na bieżąco przez using rsync lub subverion (SVN) do pracy i zmniejszenia ruchu w sieci w tym samym time. Dyskutowaliśmy również o tym, jak zachować źródła danych informacji up-to-date, gdyż ze dotarły do ​​każdego z pracowników. W ten sposób obszar zapewnienie, że my mamy się z logiką biznesową i informacji w systemie sieci biurowych. Nie będzie oczywiście liczne alternatywy dla wykonywania tych zadań, ale tu były dwa proste przykłady, aby pokazać, jak łatwo rozwiązanie jest do zdobycia.

Następny raz

W końcowej części tej serii, o wdzięcznej nazwie Część 5 omówimy wdrażania tego systemu. Będę podsumować, czego się nauczyliśmy i co udało mi się stworzyć.

Urząd Grid Computing przy Wirtualne środowiska - Część 3

W Steven Lloyd Watkin , piątek 04 grudzień 2009 23:37

Wprowadzenie

Pracuję w firmie, w której prowadzimy wiele miejsc pracy, przetwarzania wsadowego milionów rekordów danych każdego dnia i myślałam ostatnio o komputerach, które siedzą każdy dzień nic nie robi przez kilka godzin. Czy nie byłoby dobrze, gdybyśmy mogli korzystać z tych maszyn wzmacnia moc naszego systemu? W tym zbiorze artykułów mam zamiar sprawdzić potencjalne korzyści z zatrudniania biura sieci za pomocą środowiskach wirtualnych.

W części 2 przyjrzeliśmy się pracy serwer będzie działał, a jak praca powinna być skonfigurowana w celu osiągnięcia największą ilość przetwarzania przy jednoczesnym zapewnieniu, że każde zadanie jest przetwarzane bez wątpienia.

Przygotowanie pracowników - lub serwera LIMP

Kolejnym krokiem w procesie jest utworzenie wirtualnej pracowników. Do tego mam zamiar używać instalacji CentOS pomocą VirtualBox. Mam zamiar zainstalować MySQL i PHP na serwerze, znany również jako Limp (NUX Li, m ySQL, P HP) Servera (może zrobiłem, że nazwa góry).

  • Instalacja VirtualBox na komputerze windows (zgodnie link)
  • Pobierz i zainstaluj CentOS (aktualna wersja 5.3) w utworzonych maszyn wirtualnych

Nie ma sensu mnie będzie to tam prawdopodobnie 1.000 tutoriali tam (ok, jest jeden: Tworzenie i Managing CentOS maszynę wirtualną w VirtualBox ). Ważne, aby pamiętać, przypuszczam, że jest to, że zadzwonił do mojego wirtualnego GridMachine maszyny.

Jeśli chodzi o moje wybory klienta do wirtualizacji systemów operacyjnych i go nie ma istotnych powodów, duży wybór dla każdego. VirtualBox jest coś, czego używać na moim domowym komputerze i jest obsługiwany przez trzy najważniejsze systemy operacyjne. Wybrałem CentOS jako dobry OS stabilny i używam go na własnym serwerze WWW. Jestem wielkim zwolennikiem odpowiednie narzędzia do pracy (choć jestem stosowania "użytkowania najszybszy i najłatwiejszy dla Ciebie" mentalności tutaj), więc jeśli system operacyjny X działa kod szybsze i bardziej efektywne wykorzystanie, że zamiast:)

Ważne jest upewnić się, że VM używa DHCP, w przeciwnym razie dla każdej nowej maszyny wirtualnej musiałyby być skonfigurowany oddzielnie jest coś, czego nie want.By wykorzystaniem DHCP nie musimy konfigurować ustawienia sieci indywidualnie do maszyn pracownika, DHCP strony obecnie IP dla Ciebie. Dlatego można skopiować maszyny wirtualnej o biurze nie martwiąc się o ustawienia każdego z nich up (zwiększa skalowalność i zmniejsza administracji pracownika).

Proces należy dążyć do osiągnięcia byłoby uzyskać nowy fizyczny komputer, zainstalować VirtualBox, a następnie prawie uruchomienie wirtualnego obrazu bez wielu innych. To może być mądry, aby ustawić wszystkich pracowników w innej podsieci, tak aby można przynajmniej zobaczyć, jak wiele komputerów z systemem. Musisz także skonfigurować komputery w długoterminową dzierżawę lub nieograniczonej dzierżawy DHCP.

Jak uruchomić Praca na pracownika

Jest to interesujący obszar i jest kilka ważnych metod przetwarzania miejsc pracy na pracownika. Tu po prostu omówić dwie najbardziej oczywiste:

  • Nieustannie działa skrypt: Skrypt, jest to skrypt lub skrypt PHP jest wykonywana raz na pracownika i działa w ramach nieskończoną pętlę. Mam promocje tej metody jako jednego wypadku scenariusza i potencjalnie swoich pracowników przestanie działać bez jakiejś interwencji.
  • Cron w oparciu wykonywania skryptu: co X minut demona cron rozpoczyna wezwanie do skryptu, aby rzeczy się dzieje. Bez pewnej kontroli może prowadzić do wielu, wielu kopii skryptu pracownik pracuje.

Moja decyzja była iść z cron, który rozpoczyna się skrypt co 10 minutes. My skrypt wykonuje następujące zadania:

  1. Pobierz listę procesów i grep to dla "php". Jeśli nie znaleziono następnie kontynuować.
  2. Call kod pracy, w moim przypadku byłoby to coś w oparciu PHP
  3. Pracownik kończy skrypt run
  4. Gotowy do ponownie na następne wywołanie odpowiednich

Mój skrypt wygląda tak:

  #! / Bin / sh
 jeśli ps ax | grep-v |> php grep / dev / null
 następnie
     echo "Praca jest przetwarzanie, zjazd"
 więcej
     echo "Praca nie jest uruchomiony, już teraz"
     yourJobProcessingScript.php php
 fi 

Uwaga: echo są prawie całkowicie pozbawione sensu, ale może pomóc kolejna osoba, która przychodzi, aby spróbować ich edycji.

To kończy ustawić pracownika maszynie wirtualnej, szybkie, proste i łatwe do kopiowania do każdego elementu sprzętu, który jest odbierany. "Inteligencji" systemu sieci naprawdę nie jest w wizualizowane OS, jej wszystko zrobić z kodem stworzony do pracy procesu konfiguracji pracy, i do zapewnienia, że ​​praca przebiega w stosownych przypadkach (np. gdy komputer jest bezczynny ).

Konfigurowanie systemu Windows do zainicjowania pracowników

Pierwszym zadaniem jest wypracowanie polecenia konieczne do uruchomienia maszyny wirtualnej z windows linii poleceń. Jeśli zainstalowałeś VirtualBox w domyślnej lokalizacji i masz nazwie firmy GridMachine pracownik to polecenie musi doładować pracownik jest:

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

Jednak, aby uruchomić skrypt w "głowy" państwa musimy użyć:

  "C: \ Program Files \ Sun \ VirtualBox \ VBoxHeadless.exe" startvm GridMachine-- VRDP = off 

Spowoduje to uruchomienie maszyny wirtualnej bez GUI i pozostawić do zapisywania stanu wdziękiem. Drugi argument wyłącza RDP więc nie jest to sprzeczne z okna RDP, lub przekazać wiadomość o nasłuchuje na porcie 3389. Nazwę maszyny wirtualnej jest wielkość liter!

Następnie musimy ustawić okien do inauguracją naszej VM pracownikiem, gdy maszyna pozostawała w bezruchu. Aby to zrobić (w systemie Windows XP) musisz go Start -> Wszystkie Programy -> Akcesoria -> Narzędzia systemowe -> Zaplanowane zadania jak poniżej:

zaplanowanych zadań

Następnie kliknij na "Dodaj zaplanowane zadanie", a następnie przejdź do dodać własny program. Przejdź do skryptu VBoxManage i kliknij OK. Harmonogram zadań dla każdej z opcji (my to zmienić w ciągu minuty) i kontynuować. Po pominięciem następnego ekranu Windows zapyta Cię, który chcesz uruchomić to zadanie, polecam albo "Administrator" lub utworzenia nowego uprzywilejowanego użytkownika. Pamiętaj, że nie chcemy ingerować w standardowe konto personelu na komputerze w dowolnym momencie. Kliknij przycisk Dalej i sprawdzić pokaż zaawansowane opcje do tego zadania.

Do końca biegu tekstowym dodać nasz "GridMachine startvm 'string i zapewnia, że działał tylko gdy jest zalogowany na stronie odznacz. Odwiedź obok Harmonogram zadań i harmonogram zmian spadek w dół do opcji "stanie bezczynności", wybierz czas chcesz, aby komputer był bezczynny przed przejściem do następnej karty.

Na koniec usuń zaznaczenie opcji, która stanowi stop zadanie, jeśli działa już od kwoty X czasu, ale należy zaznaczyć opcję Zatrzymaj zadanie, gdy urządzenie nie jest bezczynny.

harmonogram

To wszystko to dla przyjmującego okna konfiguracji!

Podsumowanie

W tej części musimy stworzyć maszynę wirtualną do akt pracownika, jak również sposób, w jaki nazywamy i wykonywać skrypty przetwarzanie zadania (dla siebie skrypt PHP). Stąd przyjrzymy się, jak skonfigurować nasze kopie systemu Windows do uruchomienia maszyny wirtualnej w trybie bez głowy, gdy komputer będzie bezczynny, i zapisać swój stan, gdy użytkownik powraca do korzystania z urządzenia. Mam nadzieję, że w tym momencie widzisz, jak łatwo jest stworzenie takiego systemu, a są swędzenie, aby uzyskać pewne eksperymenty samemu!

Następny raz

W części 4 zajmiemy się korzystać z narzędzi w celu zapewnienia, że korzystasz z najnowszej wersji kodu i źródeł danych, tak aby uzyskane wyniki są zawsze na bieżąco z najnowszymi informacjami i logiki biznesowej.

Urząd Grid Computing przy Wirtualne środowiska - Część 1

W Steven Lloyd Watkin , piątek 04 grudzień 2009 23:23

Wprowadzenie

Pracuję w firmie, w której prowadzimy wiele miejsc pracy, przetwarzania wsadowego milionów rekordów danych każdego dnia i myślałam ostatnio o komputerach, które siedzą każdy dzień nic nie robi przez kilka godzin. Czy nie byłoby dobrze, gdybyśmy mogli korzystać z tych maszyn wzmacnia moc naszego systemu? W tym zbiorze artykułów mam zamiar sprawdzić potencjalne korzyści z zatrudniania biura sieci za pomocą środowiskach wirtualnych.

W PHP programista mam zamiar używać narzędzi, które mogę używać każdego dnia a mianowicie, Linux, MySQL , PHP, VirtualBox i Subversion (SVN). Jednak mam nadzieję, że ta książka będzie dostosować się do innych języków i technologii tak dobrze.

I zapewnia rozwiązanie będzie bardzo luźno oparty na rodzaj obróbki będziemy musieli osiągnąć to jednak nie może być prawda przez cały artykuł, jak będę coś zmienić dla uproszczenia, lub do tworzenia bardziej interesujących scenariuszy użycia.

Te środowiskach wirtualnych będzie działał na Windows maszyn od tego, co większość biur uruchomić. Przetwarzanie, że maszyny biurowe zrobić nie powinno kolidować z pracowników przy użyciu tych maszyn, nie powinny wymagać konserwacji na maszynie, i łatwo można rozmieścić na nowe maszyny w miarę ich udostępniania. Ponadto, nowe maszyny wirtualne nie powinno wymagać dodatkowej konfiguracji, ponieważ znacznie zmniejsza skalowalność i łatwość, z jaką systemu sieci może zostać przedłużony.

Dlaczego Wdrażanie Grid Computing Office?

Po pierwsze możesz pomyśleć, dlaczego nie korzystać z zasobów, takich jak "cloud computing" Amazon EC2 platformy ? No powodów może być kilka, na przykład:

  • Nie będzie powierzyć niektóre dane do środowiska cloud computing
  • Nie można umieścić pewne dane do środowiska cloud computing z powodów prawnych (np. dane opuszczania kraju), co może z przyczyn prawnych, np. rekordy NHS.
  • Chcesz, aby utrzymać jednostek przetwórczych w pobliżu i mieć pełną kontrolę nad sprzętem za
  • Nie masz funduszy projektu do uruchomienia wystąpień chmura
  • Twoje biuro nie ma połączenia z internetem, a tym samym nie można skorzystać z zasobów chmura
  • Nie lubisz deszcz, chmury sugerują, deszcz, dlatego też trzymać się z dala

Jestem pewien, że lista może być kontynuowany, ale myślę, że wystarczy na teraz.

Zalety Grid Computing Office

No, ale to trochę matematyki (w prawdziwym stylu i fizyka pozwala poczynić pewne założenia, zamiatanie). Wyobraź sobie, że duży silny serwer z systemem przetwarzania 100 miejsc pracy dziennie. W biurze masz 50 maszyn, które są bezczynne przez 16 godzin dziennie, każdy z tych maszyn jest 10% tak potężny jak najprościej, przetwarzanie sever. (Wszystkie wyniki tutaj są zaokrąglane do niedoceniania wzrost wydajności).

Tak więc, 1 maszyna * 10% * moc 2 / 3 czasu = 0,067 tj. 1 przetwarzania pulpitu w czasie bezczynności może przetworzyć 6 pełnych etatów na dzień.

Jeśli teraz to się skalę trwa 15 komputerów do procesu bezczynności jak wiele miejsc pracy dziennie jako serwer główny przetwarzanie nie.

Tak więc w naszym udawać, że urząd 50 maszyn możemy zwiększyć moc przetwarzania od 1 do 4 serwer pełny serwery przetwarzania lub możemy być przetwarzania 400 miejsc pracy dziennie zamiast 100.

Zauważ, bez inwestycji w nowy sprzęt Twoja firma ma tylko zwiększył swoją zdolność przetwarzania wsadowego 4 razy! Potencjalnie masz zamiar zwiększyć swoje zużycie energii, ale z większości środowisk biurowych byłem do maszyn ogół pozostawia na noc, tak, więc można zobaczyć to jako zielone inicjatywy.

Inne zalety również oznaczać, że inwestycje w nowe (lub aktualizacji) przetwarzania serwerów może zostać opóźnione w przypadku maszyn biurowych są wystarczające i że jak poprawić moc swojej maszyny biurowe biuro firmy siatki automatycznie staje się potężniejsza.

Technologie

Co jest potrzebne? (Lub bardziej poprawnie, co nie używam):

  • Maszyny biurowe oczekiwania (w moim przypadku części okna starego laptopa z XP)
  • VirtualBox (lub innego oprogramowania klienckiego wirtualizacji)
  • Maszyny wirtualnej z PHP, MySQL running prowadzenie wyciąć OS, dzwonię te moje serwery Limp:)
  • Praca uruchomić
  • Serwer pracy (może być inna maszyna wirtualna gdzieś)

Typowy Praca

Rodzajów pracy, że system ten jest przeznaczony do uruchamiania jest następująca:

  • System odbiera dane w postaci listy, na których musimy mecz i zwróci wyniki
  • Dopasowanie polega na sprawdzeniu / wyszukiwanie kilka (dość statyczny) źródeł danych
  • Wyniki ze źródeł danych może wymagać dodatkowej weryfikacji, łączenia, sprawdzenie dodatkowych źródeł danych w odpowiedzi na wyniki
  • Dane wrócił z rekordy pasujące, w pełni zweryfikowanych i przetworzonych
  • Każdy rekord w pracy jest niezależny od pozostałych

Więc w zasadzie patrzymy na uruchamianie zadań, które wymagają wielu wyszukiwania bazy danych, a niektóre pożerające liczby, dość typowy scenariusz w środowisku biznesowym.

Grid rozwiązania są nie tylko korzystne dla przetwarzania zadania tego typu. Zasadniczo, każdy proces, który może być podzielony na niezależne jednostki mogą być prowadzone równolegle. Zobacz ten wikipedia przykładów i więcej informacji: Grid Computing , ale kilka znanych przykładów Seti @ Home i BIONC . Istnieją ramy dla prowadzenia sieci komputerowych, a te są również warto przeanalizować.

Co osiągniemy?

Pod koniec tych artykułów mam nadzieję, pokazać, że wdrażanie sieci biura nie musi być bardzo kosztowna i czasochłonna. Mam zamiar omówić:

  • Konfigurowanie systemu kontroli pracy, konfiguracja pracy
  • Tworzenie właściwego przetwarzania wirtualnej maszyny
  • Jak skonfigurować system na komputerze z systemem Windows
  • Zapewnienie korzystania z najnowszych i danych
  • Wdrożenie i benchmarkingu
  • Patrząc w przyszłość

Będę budynku (ok zbudowany, to napisałem to) wniosek przykład sprawdzenie pojęć na lokalnym komputerze w systemie Windows XP i moje "GridMachine" maszyny wirtualnej. Serwer kontroli pracy będzie moim głównym maszyny, która działa Fedora 11 .

To jest w żaden sposób nie ma na celu zademonstrowanie w pełni funkcjonalny solidny system, jego myśli bardziej demonstracji i dyskusji pokazano, że te rzeczy można osiągnąć w stosunkowo krótkim czasie i niewielkim kosztem. Prosimy o przysyłanie wszelkich uwag, poprawki lub ulepszenia i ja staram się utrzymać ten artykuł aktualizacji do meczu.

Następny raz

W części 2 Zacznę od spojrzenia na system kontroli pracy, i sprawdzić, w jaki miejsc pracy powinny być skonfigurowane w celu osiągnięcia największą ilość przetwarzania przy jednoczesnym zapewnieniu, że każde zadanie jest przetwarzane bez wątpienia.

Urząd Grid Computing przy Wirtualne środowiska - Część 2

W Steven Lloyd Watkin , piątek 04 grudzień 2009 23:23

Wprowadzenie

Pracuję w firmie, w której prowadzimy wiele miejsc pracy, przetwarzania wsadowego milionów rekordów danych każdego dnia i myślałam ostatnio o komputerach, które siedzą każdy dzień nic nie robi przez kilka godzin. Czy nie byłoby dobrze, gdybyśmy mogli korzystać z tych maszyn wzmacnia moc naszego systemu? W tym zbiorze artykułów mam zamiar sprawdzić potencjalne korzyści z zatrudniania biura sieci za pomocą środowiskach wirtualnych.

W części 1 dałem przegląd systemu i technologii, których będę używał, jak również omówione niektóre z potencjalnych powodów, dla których chcesz utworzyć sieci biurowych.

Job Control

Jeśli masz zamiar zostać uruchomiony pracy wtedy będziemy potrzebować jakiś sposób nimi zarządzać. System kontroli pracy (na serwerze pracy) musi być naprawdę dobrze przemyślane zanim nawet próby uruchomienia sieci biurowych. Więc po pierwsze, jakie są zadania dla systemu kontroli pracy:

  • Rozdaj pracy na wniosek pracowników
  • Powiedz pracowników, jaki typ zadań wykonywanych
  • miejsc pracy Track
  • Upewnij się, że miejsca pracy są uruchamiane tylko raz
  • Dostarczanie danych do pracy pracowników, lub co najmniej powiedzieć im, gdzie je zdobyć

System musi być także rozszerzalny, rozwiązanie, które działa na razie w jednym przypadku może być przedłużony do uruchomienia kilku rodzajów pracy, jak biznes postrzega wartość w roztworze sieci. Na przykład, zatrudnienia mogą uzyskać priorytetów, więcej niż jedną pracę typu mogą istnieć (kilka baz kodu), ewentualnie może nawet uruchomić kilka różnych maszyn roboczych, które są zoptymalizowane dla każdego rodzaju pracy (mimo, że ma odejść od 'standardowych pracownika "pomysł). Zawsze staraj się myśleć o przyszłości, gdy systemy rozwijających się, krótki termin wizji może prowadzić do frustracji i dłuższej perspektywie zwiększyć czas rozwoju.

Job Server

Będziemy trzeba gdzieś do kontroli naszych miejsc pracy, należy to jedyny system w sieci, która ma stałe lokalizator zasobów, czy to adres IP, nazwę hosta, URL (z wykorzystaniem wewnętrznych DNS), itd. To dlatego, że pracownicy muszą wiedzieć, gdzie szukać pracy, pracownicy muszą znaleźć system kontroli pracy (a nie system kontroli pracy znaleźć pracowników).

Serwer praca sama w sobie nie ma to skomplikowane zadanie (w każdym razie system podstawowy), musi przechowywać listę zadań, rękę pracy, otrzymać wyniki, a następnie zapisać je do późniejszego wykorzystania. Jak te części (takich jak "rozdawać miejsc pracy") są zdefiniowane mogą być bardzo proste. Później możemy rozszerzyć systemu o interfejs administracyjny, aby dodać, edytować, usunąć, zawiesić miejsc pracy, ale jest to poza tym ćwiczeniu.

Nie ma żadnego powodu, następnie, że serwer praca nie może być maszyn wirtualnych uruchomionych w serwer główny przetwarzania pod warunkiem, że nie odprowadza zbyt wielu zasobów z niego. Serwer pracy jednak nie musi wysoką dostępność, jeśli idzie w dół, w piątek wieczorem będziesz tracić cały weekend, przetwarzania, potencjalnie kosztowało kilka tygodni warto czas przetwarzania (w porównaniu do głównego serwera przetwarzanie w spokoju) . Możesz zastanowić się nad ustawieniem serwera pracy na obciążenie środowiska zrównoważony wysoką dostępność.

Konfiguracja podstawowa

Podstawowa konfiguracja dla naszego serwera pracy będzie składać się z co Wołam jednym z moich serwerów Limp (czyli NUX Li, ySql m, P HP). Kod działa na thea pracownicy rzeczywiście pracują, jakie zadania można go uruchomić poprzez interakcję z bazami danych kontroli pracy systemu. Później możemy stworzyć serwis internetowy i faktycznie rękę miejsc pracy zamiast pracowników do ciężkiej pracy sami, ale teraz będziemy nadal korzystać z zasadą KISS (Keep it Simple, Stupid!).

Tak więc, pozwala utworzyć trzy mySQL stoły do czynienia z pracy. Będą to "praca", "jobRecords` i `jobResults".

stół pracy Tutaj Używam SQL Buddy bardzo mały alternatywa dla phpMyAdmin tylko dlatego, że jej łatwiej zainstalować na CentOS (dla widzą inni: 10 Great alternatywa dla phpMyAdmin )

Tabela ta składa się z 5 prostych pól,

  • id: Unikalny identyfikator pracy
  • Nazwa: To może być odniesienie klienta, lub dowolną liczbę innych identyfikatorów
  • Status: Musisz wiedzieć, gdzie jest praca, np.
    • 0: Nie rozpoczęty
    • 1: Podniósł
    • 2: Completed
  • started_by: Kto zaczął robić w pracy? To nie jest całkiem wymagana, ale miło mieć. Chciałbym zasugerować, śledzenie pracowników na podstawie adresów IP w sieci
  • started_at: Kiedy pracownik rozpocznie pracę? Poprzez śledzenie pracy, które nie zostały zakończone w terminie kwoty X czasu wiemy, że trzeba podnieść praca i jeszcze raz rozpocząć przetwarzanie przez innego pracownika. Pracownicy mogą zatrzymać przetwarzanie / go w trybie offline z wielu powodów, braku prądu, awarii, sieci strat, itp.

Jest to łatwe, jak to przy stole może zostać przedłużony o kilka dodatkowych pól, aby umożliwić śledzenie statystyk, w kolumnie czas zakończenia, aby zobaczyć, jak długo praca zajęła, licznik aby zobaczyć, jak wielu pracowników podniósł pracy (oczywiście musi to mają tendencję do 1), priorytet zadania, lista może iść dalej. W bardziej złożonych scenariuszy pracy byłoby możliwe, aby określić, ile pamięci pracownik powinien mieć dostęp do (a więc używać odpowiednich pracowników), a nawet jaki typ pracownika jest konieczna.

Dodajmy kilka miejsc pracy, np.:

miejsc pracy np.

W poniższej tabeli znowu jest dość prosty do zrozumienia, to są nasze zapisy pracy. Są one związane z głównej tabeli miejsc pracy kolumnie "jobs_id". Dopełnić tej tabeli bardzo dużo zależy od danych, które należy dostarczyć do pracowników, pozwala zrobić bardzo prosty przykład, gdzie mamy cztery kolumny:

  • ID: ID rekordu,
  • imię: nazwisko osoby
  • adres: adres osoby
  • jobs_id: ID pracy, że ten rekord jest powiązany z

Trzecia i ostatnia tabela składa się z tabeli wyników, ma tak samo jak uzupełnić naszej tabeli rekordy, a z dodatkiem niektóre kolumny mogą być częścią tabeli rekordów:

  • job_record_id: Link wynik do tabeli zadań
  • Wynik: Dane wynik

... I to wszystko, czego potrzebujesz do kontroli pracy! (Choć na bardzo podstawowym poziomie) W moim przypadku jestem wskazał na innej tabeli, gdzie moje dane były zlokalizowane, ale może to tylko tak łatwo było w pliku, do uruchomienia kodu parametry symulacji, to nazwę.

Wybór pracy

Jak stwierdzono wcześniej, pracowników zrobimy zarządzania zadaniami dla nas teraz, więc wszyscy musimy naprawdę jest znaleźć pracę, która wymaga przetwarzania i uzyskać informacje. Jak to zrobić? Dobrze wybrać nasze kryteria wyboru pracy i szukać pracy w SQL zrobiłem następujące brzmienie:

  1. Podjęcie jakichkolwiek zadań, które nie są oznaczone jako kompletne, ale z naszych pracowników i ich reset (__ME__ zastąpić identyfikator, najłatwiej byłoby adres IP):
      UPDATE `pracy` SET `status` = 0 WHERE `status` = 1 i "started_by` = __ME__; 
  2. Korzystanie z naszych kryteriów wyboru pracy, wyboru pracy i powiedzieć, że system kontroli pracownik ma do czynienia z tym:
      UPDATE `pracy` SET `status` = 1, "started_by` = __ME__, `started_at` = NOW () WHERE `status` = 0 lub
     (`Status` = 1 I `started_at`> DATE_SUB (NOW (), przedział X HOUR)) ORDER BY `id` ASC; 

    Chwytając miejsc pracy, które nie zwróciło wyników w kwocie X czasu mamy pewność, że wszystkie zadania są uruchamiane w razie awarii lub pracownik będzie AWOL.

  3. Następnie pobieramy po szczegóły pracy rekordy siebie:
      SELECT * FROM `pracy` WHERE `started_by` = __ME__ LIMIT 1;
     SELECT * FROM `job_records` WHERE `id` = __JOBID__; 

Po zakończeniu pracy możemy wstawić nasze dane i zaznaczyć wynik pracy za kompletną. Pamiętaj, jak praca może zawiesić / wznowić w każdej chwili umożliwić pewną stabilność w skrypcie. Możliwe, że zadanie zawiesza w połowie aktualizacji systemu kontroli pracy, więc sprawdzenie liczby rekordów w pracy i liczbę wyników zapisana w systemie kontroli pracy byłoby mądre posunięcie.

Ponadto, choć ten pokazuje, jak miejsca pracy mogą być wybierane i zarządzane z SQL-ramkę zapytania należy być naprawdę abstrahując od Ciebie pracy tak, że jeśli zdecydujesz się przejść na korzystanie z usług internetowych, system plików, XML , lub inny szereg systemów nie wpłynie kod powyżej.

Konfiguracja pracy

Kolejny aspekt, należy rozważyć, jest wielkości zadania i konfiguracji. Grając w konfiguracji pracy możemy strike doskonałą równowagę między szybkością, procesu replikacji i niezawodności. Weź parę szeĹ> ciu przypadkĂłw scenariuszy:

  1. Praca trwa od 1 dzień każdego uruchomić: Oznacza to, że pracownicy potrzebują 15 dni na proces każdej pracy (pamiętaj 10% mocy dla 2/3rds czasu). Oczywiście nie jest to mądry konfiguracji, rozmiar pracy jest zbyt duży! Zajmie to co najmniej dwukrotność czasu, aby dostać pracę przetwarzane należy wstępnego pracownik go AWOL (czas, aby podnieść, że nie zwróciło w wyniku przerobu plus czas). W idealnym można mieć co najmniej jeden pełny praca łatwo usuwane przez koniec każdego długi okres bezczynności, w ten sposób można zachować miejsca pracy i ponad dolną, w najgorszym przypadku pracy zajmie dwa dni, aby proces ten powinien najpierw przejść brakuje.
  2. Praca trwa od 1 minuty do uruchomienia: Oznacza to, że pracownicy biorą około 15 minut do uruchomienia każdej pracy. O ile może początkowo wydawać idealną, można uzyskać dodatkowe przetwarzanie w czasie pracy na lunch, przerwy kawowe, spotkania itp. scenariusz ten obciąża innych obszarów systemu i wprowadza swoje własne problemy. Przykładowo, po pierwsze konfiguracji stosunek czasu przetwarzania zamierza iść w prawo w dół, tracąc tym samym skuteczność systemu. Twoja sieć będzie stale streaming informacji o pracy dla różnych pracowników frustrujące pracowników, którzy są dong ich codziennej pracy. Jesteś także zamiar umieścić więcej obciążenie serwera przetwarzanie zadań, ponieważ musi rozdać wiele, wiele małych kawałków pracy na bieżąco. Wreszcie, w tej sytuacji, jeśli serwer praca idzie w dół masz zamiar stworzyć ogromne zaległości w pracy, podczas gdy większe nieukończonego zadania może dalszego przetwarzania w błogiej nieświadomości, że serwer praca była w trudnej sytuacji.

W rzeczywistości nie będzie nikogo, idealne konfiguracji konfiguracji sieci, wiele zależy od dostępnych środków, rodzaj pracy, wymagane turnaround czasu pracy, możliwość pracy w sieci, i tak dalej. Jednak kilka wskazówek, to:

  • Rozmiar pracy tak, że każdy pracownik może przejść przez co najmniej 3-4 nowych miejsc pracy w ciągu 15 godzin (najdłuższy czas bezczynności prawdopodobnie)
  • Zagraj z wielkości zadania, tak aby czas instalacji staje się dość nieznaczny w porównaniu do przetwarzania czasu (biorąc pod uwagę punkt powyżej).
  • Jeśli zadanie nie zakończy się w podwójnej ilości czasu (może mniej) można się spodziewać jej zakończenie założyć, że tego nie ma AWOL i rozpoczęcie jego przetwarzania go innym pracownikiem. Oznacza to, być może trzeba będzie czekać nawet do trzech razy ich normalnej pracy na jej zakończenie (ewentualnie dłużej, jeśli kolejne zadania nie). Możesz skrócić ten czas, ale należy uważać, aby nie zmniejszyć to zbyt wiele jak można rozpocząć powielania zadań przetwarzania na bieżąco.
  • Praca powinna być niezależna poza wymagania jak najwięcej. Serwer pracy, na przykład, skontaktujemy się tylko na początku i na końcu każdego zadania.
  • Nie nasycenia sieci, będzie to miało dwa negatywne skutki, Twój dzień znajdzie pracowników za pośrednictwem sieci frustrujące i mogą występować problemy z połączeniami limit czasu problem, że będzie tylko gorzej jak skalowanie sieci.
  • Zapewnienie miejsc pracy można uruchomić na swoich pracowników. Jeśli zatrudnienie zbyt dużej pamięci lub miejsca na dysku intensywnej pracy zacznie przerywać i jedyne co można zauważyć, jest spadek liczby miejsc pracy przetwarzane bez rzeczywistego powodu.

Przesyłanie Wyniki pracy

Przy składaniu wyniki pracy ważne jest, aby sprawdzić, czy wyniki nie zostały przedstawione przez innego pracownika, zwłaszcza jeśli obecny pracownik został uśpiony na jakiś czas.

Kiedy wyniki podane zapewnienia, że ​​liczba wyników odpowiada liczbie rekordów w pracy.

Jak stwierdzono wcześniej, i nie można przecenić, budować odporność na uszkodzenia wyszukiwania miejsc pracy i przekazywania wyników. Pracownicy mogą (i najprawdopodobniej) przejść do trybu wstrzymania na najbardziej uciążliwe razy i musi to być coś dla siebie. Także po raz kolejny abstrahując od Twojego zgłoszenia wyników pomoże zaspokoić przyszłe zmiany w systemie kontroli pracy łatwiej sobie poradzić.

Podsumowanie

W tym section patrzyliśmy co serwer kontroli pracy musi to zrobić i jak się bardzo prosty system konfiguracji. Rozmawialiśmy jak odzyskać pracę z systemu kontroli i jak najlepiej skonfigurować zadania, aby jak najlepiej naszym systemu sieci biurowych. Aby zakończyć, ust lub dwóch od złożenia wyniki z powrotem do serwera kontroli pracy został przedstawiony.

  • Serwer kontroli pracy zarządza miejsc pracy i zapewnia, że ​​wszystkie jednostki pracy są zakończone
  • W abstrakcji pracy select / przekazywania wyników możemy zmienić technologię na serwer kontroli bez większych problemów
  • Konfigurowanie pracy w celu zapewnienia, że ​​są one uruchomić szybko i sprawnie bez zbytniego nacisku na infrastrukturę, a nie powielając zadań przetwarzania na bieżąco.
  • Upewnij się, że budowanie odporności na uszkodzenia i checking błąd na swoje procedury, pracowników może zawiesić i wznowić i najbardziej uciążliwe razy. Pamiętaj, aby sprawdzić, czy wyniki zostały już przedstawione przez innego pracownika.

Następny raz

W części 3 stworzymy naszej wirtualnej obrabiarki i skonfigurować nasze komputery z Windowsem na bezczynność wymiarze czasu pracy.

Urząd Grid Computing przy Wirtualne środowisko - część 5

W Steven Lloyd Watkin , piątek 04 grudzień 2009 23:03

Wprowadzenie

Pracuję w firmie, w której prowadzimy wiele miejsc pracy, przetwarzania wsadowego milionów rekordów danych każdego dnia i myślałam ostatnio o komputerach, które siedzą każdy dzień nic nie robi przez kilka godzin. Czy nie byłoby dobrze, gdybyśmy mogli korzystać z tych maszyn wzmacnia moc naszego systemu? W tym zbiorze artykułów mam zamiar sprawdzić potencjalne korzyści z zatrudniania biura sieci za pomocą środowiskach wirtualnych.

W części 4 przyjrzeliśmy się przy użyciu narzędzi w celu zapewnienia, że korzystasz z najnowszej wersji kodu i źródeł danych, tak aby uzyskane wyniki są zawsze na bieżąco z najnowszymi informacjami i logiki biznesowej.

Przed wdrożeniem

Przed wdrożeniem systemu do sieci, jeśli jest coś zrobić i jedno tylko jest to benchmark aktualny system! Nie ważne co mówią koledzy o tym, jak wiele dodatkowej pracy systemu nie zrobi, chyba że masz numery, aby to potwierdzić swoją gwarancje są nic. Tak więc,

  • ile rekordów można obecnie proces? Dziennie? Na godzinę?
  • Jak długo zazwyczaj trwa zawrócić pracy?
  • Ile więcej pojemności masz?

Istnieje również dodatkowe pytania:

  • Jeśli przetwarzania serwera (lub jeden z przetwarzania serwerów) idzie w dół, jak wpłynie to na swoje możliwości, będzie kaleką?
  • Jakie zalety ma Pan nadzieję / spodziewać się z sieci energetycznej?
  • Czy Twoje maszyny biurowe, które mogą jeździć pracy?
  • Czy Twoje (lub miejsc pracy można zostać przekształcone) do pracy w ten styl jazdy?

W ostatnim ważnym punktem jest wziąć swój czas na większych zmian tak. Zaktualizuj swój kod przetwarzania do pracy z wykorzystaniem nowej metody, benchmark ponownie. Być może skonfigurować serwer przetwarzania uruchomić maszynę wirtualną, po wszystkich przetwarzania serwer będzie po prostu inny pracownik (po prostu bardzo silne stosunkowo). Pozwól nowego procesu na osiedlenie się.

Deployment

Moja propozycja będzie skoczyć do urzędu jeden weekend wykonania wszystkich instalacji i konfiguracji. Zrób to tuż przed dwa tygodnie urlopu i wypoczynku, aby inni biedak do czynienia z konsekwencjami ... może nie ...

Wdrażanie system taki musi być wolny. Mimo to jest stosunkowo prosta w konfiguracji tego systemu wpłynie na całej infrastruktury biurowej (również cyfrową). Po pierwsze, dobiegu do kilku urządzeń jednocześnie, monitor ruchu w sieci, jak gospodarze pracownika wykonywania w zasadzie z dnia na dzień. Być może trzeba zmienić konfigurację miejsc pracy w odpowiedzi na wnioski.

Gdy system osiedlił się z kilku maszyn (powiedzmy, że 10% wszystkich urządzeń biurowych, tj. 5) prowadzenia monitorowania ruchu w sieci i urządzenia performance. host Następny punkt odniesienia ponownie, powinno być teraz przetwarzania 33% więcej miejsc pracy niż swój pierwszy punkt odniesienia. Sprawdź tak jest, lub, że jesteś co najmniej w tym pole do gry. Jeśli nie, badać, co dzieje się przed przejściem. Powtórz ten cykl, aż szczęśliwie wszystkie maszyny biurowe działa bez zabijania poszczególnych wydajność maszyny lub szlifowanie sieci w martwym punkcie.

Przez cały czas prowadzenia analizy porównawczej, nawet po wszystkich wdrożeń są wykonane. Sprawdź, jak nowe aktualizacje kodu wpływ na szybkość systemu, sprawdź wszyscy pracownicy są w sprawozdawczości i przetwarzania zadania. Powoli (bardzo powoli) przyrost konfiguracji pracy, aby uzyskać najlepszą z twoich pracowników i sieci.

Stop!

Co jeśli chcesz, aby zatrzymać pracowników z pracy na jakiś czas? Są tu wszystkie działa, regeneracji, i próbuje swoich najlepszych do przetwarzania danych jak głodne owady. Odpowiedź może wydawać się oczywiste, ale warto dodać, tylko w przypadku jej przeoczyć. Wystarczy edytować przetwarzania skryptu z wyjściem (0) or die () lub inne oświadczenie zabić przetwarzanie zadania. Ważnym powodem, dla którego zawsze staramy się aktualizacji do najnowszej przetwarzania skryptu przed biegnij!

Demonstracja systemu

W celu napisania tego zbioru krótkich artykułów I stworzył bardzo małych sieci w celu wykazania technologii i metodologii. Czytałem wiele artykułów, tutoriali i wykorzystywane różne narzędzia do konfiguracji i monitorowania tego, co się dzieje. Wcale nie mam wyszła i nasyconych całego biura ruchu i ani nie miałem dostępu do regularnych PC pracowników aby zobaczyć, jak wydajność host był zaburzony.

Mój system prezentacji bardzo skromny rzeczywiście. Kiedyś mój regularne pulpicie skonfigurować jako serwer kontroli zadań. Na tej Miałem zainstalowany mySQL zainstalowany serwer skonfigurować jako master w replikacji, PHP , A i SVN połączone poprzez apache (aby uzyskać dostęp za pośrednictwem pracownika VM).

Potem stworzył maszynę CentOS pracownika VirtualBox na 6 lat laptop windows XP. I konfiguracji zaplanowane zadania określone po skopiowaniu VM na maszynie i pozwolić jej odejść.

Maszyna wirtualna została utworzona z PHP, subversion i MySQL. Sprawdziłem na oddział o nazwie "pracownika" z moich serwerów repozytorium kontroli pracy i upewnić się, może to być aktualizowane przy użyciu 'svn update'. Dalej mogę skonfigurować MySQL jako slave i sprawdzeniu, że dane z MySQL replikacji na serwerze kontroli pracy aż do VM pracownika. Po tym wszystkim konfiguracji I skrypt i zadań.

My skrypt przetwarzania zasadzie wyszedł na wzór tego (bardzo proste rzeczy):

  • Czytaj w polu Nazwa
  • Liczył podobne nazwy w tabeli od źródła danych przechowywanych na VM
  • Liczył nazwy jak powyżej, ale podział nazwy spacjami (tj. imię, w środku, nazwisko)
  • Powtarzające się ten proces 1000 razy

Każda praca zajęła około 20 minut do uruchomienia. W pewnym momencie otworzył kilka kopii VM pracownika na laptopie windows i obserwował pracę być zaznaczone przez każdego z adresów IP pracownika. W tym miejscu również, że replikacji automatycznie uruchomiony ponownie.

Pozostawienie laptopa do biegu w wyniku procesu pracownik zaczyna pracę z serwera kontroli zadań. Po wznowieniu użytkowania laptopa nie było opóźnienie ok. 30-60 sekund, jest to sporo czasu i pracowników musiałaby być świadomi, że ich komputer może zatrzymać się na chwilę po powrocie do komputera. Nowsze urządzenia nie mogą mieć przerwę na tak długo. Korzyści z tytułu przetwórstwa w wykonaniu tych maszyn podczas przerw byłoby bardziej, że przeważają pracownicy konieczności czekania na krótki okres (np. 1 minuta) po przyjeździe na swoich maszynach z rana (I często dłużej czekać, że dla Windows Defender Aktualizacja mieć miejsce) pod warunkiem że zostały poinformowane o tym (czas użyteczny na kawę rano!).

Ogólnie jestem przekonany, że wykazały technologii, które mogłyby zostać wykorzystane do stworzenia takiego systemu. Pokazałem, że taki system nie działa na (bardzo) małej skali i kilka eksperymentów może być skalowany korzystania z zasobów biura maszyn. Jeśli nie dostać się do punktu prowadzenia tego byłbym bardzo zainteresowany, aby wiedzieć / widzieć czy ktoś inny nie.

Wnioski / oceny

Kolejnym oczywistym krokiem byłoby rzeczywiście dostać Rzeczywistym przykładem i zacząć wdrażać system taki jak ten w środowisku biurowym i zobaczyć co się dzieje. Zadawanie firmy do zaangażowania się w to bez śladu firmy płonący udowodnić technologii i skuteczności może być trochę trudne. Grid / rozproszone jest bardzo popularny jest pewnych kręgach i ma kilka dużych aplikacji (BIONC, SETI @ Home, Folding @ Home, itp.). Nie jednak znaleźć mniejszą skalę i prosty system podobny do tego w swoich poszukiwaniach, jakie można podjąć w ramach biura.

I stworzył zasadzie wolnego systemu używając głównie oprogramowania open source i narzędzi dostępnych w niemal każdym biurze. Technologii były w zasadzie wykazać i pokazać, do wykonania i działa jak powinno. Mam nadzieję, że mam pokazać, że z nie dużo pracy i bardzo prostą konfigurację można wdrożyć grid computing Office System, który jest mocny, tani, A i skalowalne w tym samym czasie.

Gdy system jest gotowy do pracy praktycznie nie ma końca do kwoty dostosowania i poprawy można zrobić. Dla celów statystyki np. / benchmarking może być łatwo dodana pokazano warte takiego systemu na co dzień. Nowe maszyny mogą być dodawane szybko i łatwo, jak i kiedy przyjechać na celu uatrakcyjnienie istniejącego sprzętu wzmocnienia swoją moc.

Mam nadzieję, że cieszył się czytanie tej serii artykułów i dał ci do myślenia na temat prowadzenia systemu sieci biurowych. Rozwiązanie tutaj zaprezentowane może nie działać w każdej sytuacji, ale powinny być dostosowane do pozwala uzyskać przetwarzanie danych odbywa się za pomocą własnego rozwiązania.

Prosimy o przysyłanie wszelkich uwag, poprawki lub ulepszenia i ja staram się utrzymać ten artykuł aktualizacji do meczu.

Zend Framework: Podstawy - Recenzja

W Steven Lloyd Watkin , sobota 28 listopada 2009 22:42

Mój pracodawca niedawno zapłacił za grupę nas programistom Zend Framework: Podstawy Oczywiście, tutaj będę podsumować moje myśli i opinie na temat kursu dla innych. Dla tych, którzy chcą zaoszczędzić czas, oto moje podsumowanie:

Dla programistów, którzy nie mieli czasu, aby przyjrzeć się Zend Framework kurs (Zend Framework: Podstawy) oferuje dobry ogólny obraz ramach wprowadzenia do kluczowych obszarów i daje wystarczająco dużo informacji, aby kontynuować. Dla tych, którzy spędzali czas patrząc na ramy oraz po jednym lub dwóch tutoriale tego kursu nie oferuje zbyt wiele poza nim.

Tle

Byłem PHP developer na około 5-6 lat i rozpoczęła współpracę z Zend Framework na podstawie części w ciągu ostatnich 6 miesięcy. I stworzyliśmy i / lub deweloperem na kilka małych Zend Framework MVC sites. Będę szczery, nie miałem ogromną ilość ekspozycji na inne ramy z punktu widzenia kodowania, ale przez kilka godziny badania i oceny stron internetowych projektu them. Ramy i otaczającej społeczności Zend Framework jest bardzo ekscytujące i nie wydaje się być ogromne możliwości w przypadku gdy jej dzieje.

O golfowe

Kursu przekazywana jest przez 9 Dwa godzin sesji WebEx (z 10-minutową przerwę w środku). Czas spędzony przechodzi zestaw slajdów dostarczone przez Zend z dyskusji w każdej chwili. Możesz używać mikrofonu, aby porozmawiać z instruktorem, ale szczerze mówiąc nie widzę nic używać ktoś więcej niż w oknie czatu. Ponadto VMWare Ubuntu jest pod warunkiem, że ma przykład kodu i projektów stworzonych wersję testową Zend Studio. Rozmowy lider oczywiście uczestników albo na zintegrowane rozwiązania VoIP, lub można dzwonić w użyciu jednej z wielu na całym świecie wybierania numerów.

W trakcie Materiał składa się z krótkiego przeglądu ram i wzorzec MVC przed wyruszeniem do aplikacji księgi próbki. W dyskusji wykazano, uruchamianie, Zend_Application, tabele w bazie, dostęp do bazy danych, formularze, filtrowanie, ACL, Junior, etc, itp. W zasadzie, obejmujące wszystkie tematy chcesz wymagać, aby uzyskać podstawowe miejscu się działać przez cały czas daje narzędzia do idź i bardziej zaawansowanych w ramach (choć nie stanowi "Zajrzyj na stronę" dużo czasu).

Czas podaje się kod się kilka przykładów, oraz do opracowania "księgi" i wniosek prosty "wiki". Osobiście czułem, że dostarczenie kodu lub każdej aplikacji, a następnie prosi nas do rozwoju, co w zasadzie kopia obok tak naprawdę nie stanowią dobre doświadczenie. Wolałbym, by stworzyć aplikację podobne, ale nie identyczne. do stosowania przykład korzyści z posiadania przypomnienie tego odnoszą. Można budować aplikacje od nowa z demonstrator by możliwie doprowadziły do pytania, dlaczego i jak, co daje lepsze zrozumienie ram przecież można sprawdzić Charakterystyka po zakończeniu kursu.

Ostatni wykład składał się z pracy na wiki aplikacji z pomocy / wskazówek od instruktora. Po opinie oczywiście została podjęta, podkreślano wielokrotnie poprzez oczywiście, że Zend ma opinie bardzo poważnie, w rzeczywistości widocznie nasza wersja kurs był całkiem nowy. Niektóre z innymi programistami w firmie będzie kursem wkrótce tak będzie interesujące zobaczyć, czy tak się stało.

Styl oczywiście było nieformalne, pozwolił na opinie i współpracę między uczestników i instruktora. Oczywiście liderem był przyjazny, przystępny (adresy e-mail były dzielone na pytania), a jednocześnie jego prezentacji z slajdy było trochę chwiejny wydawało się w pełni kompetentny w ramach. Był wyraźnie kogoś, kto używane ramach regularnie, a nie kogoś, kto uczy się uczyć Oczywiście podobało mi się "prawdziwym świecie" doświadczenie w tym zakresie.

Ogółem Feeling

W pewnym sensie znalazłem oczywiście strata czasu, w innych było bardzo wygodne. Mam nadzieję, że będę miał racje w sposób jasny, a może stanowić materiał do przemyśleń i opinii przydatne (znając mnie jest to mało prawdopodobne!).

Dla mnie ten kurs miał na celu zbyt niskim poziomie. Po przejściu przez tutorial, przeczytaj Rob Allen Zend Framework w działaniu "i współpracował z ramy trochę tak naprawdę nie dostać coś za dużo. Chciałbym z lubił oczywiście odebrać od końca quickstart i rozwój dodatkowych umiejętności.

Powiedział, że oczywiście ma tytuł wyraźnie wskazuje na "Zend Framework: Podstawy" i pod tym względem kursu osiąga to, co określa się dzieje. Inni członkowie zespołu projektowego, które nie spędziliśmy czas patrząc w ramach zakończeniu każdej sesji z entuzjazmem i pytania, które było naprawdę miło widzieć.

Nie wszystko jest stracone, to dobrze spędzić czas potwierdzające podstawowe informacje dotyczące ram i się zadać kilka pytań w dziedzinach, w których nie byłem w 100%. Był to także czas, że mam usiąść każdego dnia i myśleć o kodowanie za pomocą ram i przyszłych projektów, coś bym nie był w stanie zrobić inaczej (można sobie wyobrazić firmy zgadzając się, że:)). Last but not least można również uzyskać ładny certyfikat z Zend powiedzieć, że uczestniczyła w zajęciach (choć przez e-mail).

Certyfikacja Zend Framework

To było jedno pytanie, które przychodziły do ​​głowy w trakcie, to przygotowało mnie do certyfikacji? Szybkie, proste brzmi: Nie. Instruktor oczywiście było całkiem jasne, w tym z dodatkową informację, że certyfikacji powinno być naprawdę wykorzystaniem tych ram prawnych na codzień i czuć się bardzo komfortowo i pewnie w jego użytkowania i metodologii.

Podsumowanie

Biorąc pod uwagę wszystko, co napisałem powyżej, ja wszystko podsumować w dwóch łatwych wypunktowania:

  • Nowy Zend Framework: Ten kurs nie dokładnie to, co można się spodziewać, to daje ładny wstęp do ramy i dobrych podstaw na podstawach, z których można budować. Oczywiście wydaje się, by wzbudzić zainteresowanie i entuzjazm ramach wśród deweloperów.
  • Używane Zend Framework: Chociaż fajnie by było wzmocnić niektóre bardzo podstawowe czułem czasu, wysiłku i środków do podjęcia kursu będą mogły być lepiej gdzie indziej. To będzie miłe dla SEEA Zend utworzyć nowy wyższy poziom kursu do podjęcia deweloperów do następnego poziomu - przynajmniej do normy certyfikacji i poza natychmiast. Bo że się zarejestrować.












Panorama tematu przez Themocracy

10 gości online
7 gości, 3 boty, 0 użytkowników
Max odwiedzających dziś: 23 na 04:19 UTC
W tym miesiącu: 26 z 05.7.2011 00:35 UTC
W tym roku: 130 w 28-03-2011 22:40 UTC
Cały czas: 130 w 28-03-2011 22:40 UTC