Dynamicky přidávat stránky do kontejneru Zend_Navigation za běhu

Tím, Steven Lloyd Watkin , čtvrtek 07.1.2010 22:50

V pokračování na můj poslední příspěvek o Zend_Navigation, cesta žádosti o sitemap.xml na vlastní řadič / akci , tento post je asi dymnamically přidávání stránek do kontejneru Zend_Navigation za běhu / spuštění skriptu.

Jeho všechno v pořádku a dobré uvedením vašich stránek v ini nebo XML souboru, ale na nějakém místě budete mít měnící se stránky na vašem webu, který chcete jako součást menu, mapa stránek, nebo být součástí vašeho strouhanka stezka. Proto to, co musíme udělat, je přidat stránky do našeho Zend_Navigation kontejneru za běhu. Příkladem pro toto by bylo v přidávání zpráv, blogů nebo stránek poznámky, atd.

Pokračovat ve čtení 'dynamicky přidávat stránky do kontejneru Zend_Navigation za běhu' »

Trasa žádosti o sitemap.xml na vlastní řadič / akce

Tím, Steven Lloyd Watkin , ve středu 06.01.2010 00:13

Za účelem přímých žádostí / sitemap.xml na vlastní řadič a akce v Zend Framework aplikace jednoduše přidejte následující text do vaší application.ini nebo alternativní konfigurační soubor (např. používám navigation.ini):

 resources.router.routes.sitemap.route = "sitemap.xml"
 resources.router.routes.sitemap.defaults.controller = index
 resources.router.routes.sitemap.defaults.action = sitemap

Například kód pro výstup může být viděn tím, že vytvoří akcí v příslušných regulátoru (např. moje mapa stránek spočívá v indexu regulátoru, Sitemap akce):

 < php
 třída IndexController
     rozšiřuje Zend_Controller_Action
 {
     / **
      * Omítky Sitemap na základě Zend_Navigation nastavení
      * /
     veřejné funkce sitemapAction ()
     {
    	 echo $ this-> Zobrazit-> Navigace () -> mapa stránek ();
    	 $ This-> Zobrazit-> layout () -> disableLayout ();
    	 $ This-> _helper-> viewRenderer-> setNoRender (true);
     }
 }

Sitemap lze rychle a snadno získány pomocí Zend_Navigation , skvělý rychlý návod (a obecně velmi užitečné pro Zend tutoriály Framework) je Zend Odlitky - dynamicky vytváří menu Sitemap a strouhankou .

Zend Framework Per-Module na základě nastavení

Tím, Steven Lloyd Watkin , v pátek 01.1.2010 22:40

Vytvořil jsem reakci na tento post, který vyžaduje méně konfigurace, viz modul založený Layout - Zend Framework .

Při použití Zend Frameworku s moduly, jejich zjevné, že pokud používáte různé (sub-) místa mimo stejná žádost nemusíte nutně chtít stejné rozložení skripty pro každou část. Rozhodl jsem se jít s následující struktury webu:

  / Aplikace
     / Regulátory
         ...
     / Modely
     / Modules
         / Default
             / Regulátory
             / Rozvržení
                 / Skripty
             / Pohledy
                 / Skripty
         / AnotherModule
             ...
     / Skripty

Problém byl v nastavení rozložení skripty na na-základ modul. Odpověď přišla až s použitím Akce Helper. Nastavení rozložení na na-základ modul zahrnuje tři kroky:

  1. Application.ini (nebo podobnou konfiguraci nastavení):
      admin.resources.layout.layoutPath = APPLICATION_PATH "/ modules / admin / layouty / skripty"
     default.resources.layout.layoutPath = APPLICATION_PATH "/ modules / default / layouty / skripty"
     member.resources.layout.layoutPath = APPLICATION_PATH "/ modules / člen / layouty / skripty"
     affiliate.resources.layout.layoutPath = APPLICATION_PATH "/ modules / affiliate / layouty / skripty" 
  2. Vytvořte si svůj Akce Helper:
      <? Php
     / **
      * Nastavuje rozložení cestu na per-modul základě
      *
      * @ Autor Lloyd Watkin <lloyd@evilprofessor.co.uk>
      * @ Od 2010-01-01
      * /
     třída Pro_Controller_Action_Helper_SetLayoutPath
         rozšiřuje Zend_Controller_Action_Helper_Abstract
     {
         / **
          * Nastavuje uspořádání cestu založenou na modulu
          * /
         veřejné funkce preDispatch ()
         {
        	 $ Modul = $ this-> getRequest () -> getModuleName ();
    
    	     if ($ bootstrap = $ this-> getActionController ()
    	                        -> GetInvokeArg ('zavádění')) {
    
    	         $ Config = $ bootstrap-> getOptions ();
    
    	         if (isset ($ config [$ modul] ['zdrojů'] ['layout'] ['layoutPath'])) {
    	             $ = LayoutPath
    	                  $ Config [$ modul] ['zdrojů'] ['layout'] ['layoutPath'];
    	             $ This-> getActionController ()
    	                  -> GetHelper ('layout')
    	                  -> SetLayoutPath ($ layoutPath);
    	         }
        	 }
         }
     } 
  3. A konečně boostrap akce pomocníka:
      ...
         / **
          * Nastavuje uspořádání skripty na na-základ modul
          * /
         chráněné funkce _initLayoutHelper ()
    	 {
    	     $ This-> bootstrap ('frontController');
    	     $ Layout = Zend_Controller_Action_HelperBroker:: addHelper (
    	         nový Pro_Controller_Action_Helper_SetLayoutPath ());
    	 }
     ... 

Doktrína: DATETIME výchozí NOW ()

Tím, Steven Lloyd Watkin , ve středu 30.prosince 2009 18:30

Byl jsem zápasí s vytvořením databáze schéma pro nový Zend Framework projekt. Já jsem pomocí pokusu o použití doktríny ORM pro mou databázi modelů. Musím nastavit schéma tak, že mi umožnilo nastavit výchozí datum a čas pro `datetime` sloupec, např. při přidání nové zprávy mám aktuální časové razítko. Po dlouhém hledání a experimentování jsem našel řešení, takže jsem sdílení.

Ve vašem schématu YAML soubor jednoduše provést následující kroky:

 Zpráva:
   ACTAS:
     Timestampable:
       vytvořil:
         jméno: created_at
         Typ: časového razítka
         formát: YMD H: i: s
       aktualizace:
         jméno: last_updated
         Typ: časového razítka
         formát: YMD H: i: s
   sloupce:
     id:
       Typ: integer
       primární: pravda
       AUTOINCREMENT: pravda
     Jméno: string (255)
     email: string (300)
     zpráva: string (2000)

Pokud na druhou stranu nechcete, "updated_at` sloupec, můžete použít následující:

 Zpráva:
   ACTAS:
     Timestampable:
       vytvořil:
         jméno: created_at
         Typ: časového razítka
         formát: YMD H: i: s
       aktualizace:
         Bezbariérový: pravda
   sloupce:
     id:
       Typ: integer
       primární: pravda
       AUTOINCREMENT: pravda
     Jméno: string (255)
     email: string (300)
     zpráva: string (2000)

PHP návrhové vzory - vzor Pozorovatel

Tím, Steven Lloyd Watkin , úterý 29.prosince 2009 22:02

Četl jsem hlavou napřed návrhové vzory v poslední době a rozhodl se napsat některé vzory jako příklady PHP pro vlastní prospěch. První z nich, že jsem se rozhodl ke kódu se je vzor Observer . Formální definice Observer Vzorek je:

Pozorovatel vzor (podmnožina asynchronní publish / subscribe vzor ) je software design vzor , ve kterém objekt , nazvaný předmět, udržuje seznam jeho rodinné příslušníky, tzv. pozorovatelé, a upozorní je automaticky jakékoli změny stavu, obvykle tím, že volá jeden z jejich metod . Používá se zejména k provádění distribuovaných systémů zpracování událostí.

Jak se systémy volněji vázanou ujistěte se, že když se stane událost všechny systémy, které vyžadují znalost těchto aktualizací je informován. Například, blogu, po uložení post budeme muset aktualizovat vyhledávače (např. Lucene), aktualizovat náš sitemap, tagy, e-mail objednané uživatele, atd. pozorovatel vzor umožňuje vývojářům přidat další posluchače bez úpravy jejich pozorovatelný objekt . Nástřikem pozorovatelů (tj. vyhledávač aktualizace pozorovatele, sitemap generátor, atd.), do předmětu (tj. editace blogu systému) můžeme dovolit plně vykonávat všechny potřebné aktualizace bez jakýchkoliv změn.

Pokračovat ve čtení 'PHP návrhové vzory - vzor Observer' »

Úřad výpočetních sítí pomocí virtuálních prostředí - Část 4

Tím, Steven Lloyd Watkin , pátek 04.12.2009 23:59

Úvod

Pracuji ve firmě, kde jsme se spustit mnoho dávkové úlohy zpracování miliony záznamů dat každý den a já jsem byl nedávno přemýšlel o všech strojích, které sedí kolem každého a každý den nedělá nic pro několik hodin. Nebylo by dobré, kdybychom mohli využít těchto strojů pro posílení výpočetního výkonu našich systémů? V tomto souboru článků Jdu se podívat na potenciální výhody zaměstnávání úřadu sítě pomocí virtualizovaných prostředích.

V části 3 jsme vytvořili virtuální zpracování a nastavit počítače se systémem Windows, aby se stal nečinnosti-úvazek.

Nainstalována nejnovější kód

Nevyhnutelně po vytvoření vašich pracovníků obchodní logiky se bude měnit, bude se nacházejí chyby, účinnější kód bude rychlejší vyrábět tak opouštět vaši zaměstnanci seděli zpracování dat pomocí starý smradlavý kód . Jak tedy zajistíme, že jsme vždy používat nejnovější a nejlepší verzi našeho zpracování skriptů?

Existuje několik jednoduchých způsobů, jak snadno jsme mohli udělat to, trik, nicméně, je snížení výpočetního výkonu a síťový provoz v dosažení tohoto cíle. Začněme s nejjednodušší řešení a zlepšit to pomalu přes několik iterací.

První metoda by se jednoduše připojit k našemu serveru kontroly práce (přes Sambu, FTP, nebo podobné) a strhnout nejnovější verzi kódu. Ne velmi výkonný, ale to bude dělat svou práci. Umožňuje zlepšit na tom něco, jak se o vytvoření a použití rsync skript, že pokaždé, když místo toho? Jinak, co se o uvedení našich nejnovějších zpracování skriptu do podvracení odhlašování kód zpočátku a pak už jen aktualizovat náš kód na každém spuštění ( svn update )?

V závěru jsme mohli skončit s bash skript (nazvaný cron každých 10 minut), který vypadá stejně jednoduché jako tento:

  #! / Bin / sh
 pokud ps ax | grep-v grep | grep php > / dev / null
 pak
     echo "práce je v současné době zpracování, exit"
 jiného
     echo "práce není spuštěna, spusťte nyní"
     cd / cesta / k / pracovní / copy
     svn update
     php yourJobProcessingScript.php
 fi 

Nyní můžeme být jisti, že s každým spuštění jsme definitivně spuštěn poslední kód. Jsme to zajistit, že se aktualizuje základní kód každé době provádíme běh a omezit provoz v síti pouze přenos souborů rozdíly mezi naší sítě.

V mém demonstrace nastavení, udělal jsem přesně, jak je uvedeno výše. Subversion je nainstalován na svém serveru zpracování zakázek a já jsem prostě vytáhl poslední kód z 'pracovník' pobočka pomocí 'svn update'. Také jsem přidal číslo verze značku můj zpracování skript, který byl vrácen do databáze jako součást výsledků návratu. Tímto způsobem jsem mohl vidět, že můj kód byl aktualizován pokaždé, když jsem kopíroval můj kufr do tj. pracovník pobočky, že jsem byl rozhodně běh nejnovější zpracování skriptu.

Použití nejnovějších údajů

Pokud je vaše práce zpracování využívá zdroje údajů pak v určitém okamžiku se jedná bude aktualizován také. Pokud jste zavolat své zdroje dat na velmi řídké základě budete povodňové vaší sítě s provozem, jakmile si pracovníci začnou přinášet všechno, co ke klidu. Pro mé řešení, jsem se rozhodl, že bych chtěl přesunout své zdroje dat kolem s mou VM.

Hold jsi tam koně! Co když je moje zdroje dat jsou obrovské? No to je opravdu případ, kolik dat je řeč? To může být více efektivní z hlediska nákladů na instalaci další větší pevný disk na každém stroji, než na nákup další zpracování serveru. To je otázka rozpočtu a je na podniku, aby rozhodl. Je možná, že vaše zdroje dat jsou tak velké, že je to jen proveditelné, aby toto množství dat ve vašem pracovník stroje. V tomto případě to, co byste dělali? Tak jsme se mohli podívat na volání místní datový server, ale může to způsobit problémy se sítí. V tomto případě distribuční soustavy, jako je tento, se může stát nereálné zahrnout do kancelářského prostředí. To může také být, že se můžete podívat na alternativní běh strategií, například pouze volání vaši zaměstnanci mezi dvacet hodin a 6 hodin ráno každou noc a / nebo škrtící zdroj dat žádostí.

Pohybující se na řekněme našich datových zdrojů činí 100 GB dat. No ano, to je docela dost dat se pohybovat po síti na aktualizaci. Jak bychom zajistit, že máme poslední kopie dat v tomto případě? Rsync je možné, ale osobně myslím, že spuštěním vaše nejnovější data source na serveru zaměstnání zpracování a toto nastavení jako mistr v replikaci (s pěknou dlouhou bin log) by mohl být způsob, jak jít:

replikace Při nastavení každého z vašich zaměstnanců se jako otrok do práce aktualizace ovládání serveru do zdroje dat budou pěkně stéká do svého zaměstnance, aniž by k obrovskému nárůstu činnosti sítě (která je, pokud budete provádět obrovské množství dat aktualizovat a všechny své zaměstnance kop ve najednou). To má výhody oproti rsync v tom, že by nedostal dlouhá pauza před každou práci, jako je aktualizace databáze, mysql na váš zaměstnanec bude daemon průběžně aktualizovat své údaje, zatímco zpracování pokračuje.

To je, jak mám nastavit svůj server demonstrace. Chcete-li nastavit replikace Sledoval jsem návod na stránkách mySQL ( Nastavení replikace ) a do 20 minut jsem měl inital pracovník kopírující kontroly práce servery datového souboru. Za každý další pracovník nastavení replikace a proces pracoval pokaždé, kdy byl zkopírován VM.

Shrnutí

V této části článku jsme se podíval na to, jak snadné a bezbolestné je, aby vaše zpracování kódu v aktuálním stavu pomocí rsync nebo using subverion (SVN) dělat práci a snížit provoz v síti ve stejnou time. Mluvili jsme také o tom, jak , aby vaše informace o zdroji dat se-to-data tím, že mu dostaly až ke každému z vašich pracovníků. Tak jsme oblast zajištění toho, že jsme se držet krok s obchodní logiky a informace v našem systému kanceláři sítě. K dispozici budou samozřejmě nespočet alternativ k plnění těchto úkolů, ale tady byly dva jednoduché příklady ukazují, jak snadné je řešení přijít.

Příště

V závěrečné části tohoto seriálu, příhodně pojmenovaný Část 5 , budeme diskutovat o nasazení tohoto systému pro. Budu shrnout to, co jsme se naučili a co se mi podařilo vytvořit.

Úřad výpočetních sítí pomocí virtuálních prostředí - Část 3

Tím, Steven Lloyd Watkin , pátek 04.12.2009 23:37

Úvod

Pracuji ve firmě, kde jsme se spustit mnoho dávkové úlohy zpracování miliony záznamů dat každý den a já jsem byl nedávno přemýšlel o všech strojích, které sedí kolem každého a každý den nedělá nic pro několik hodin. Nebylo by dobré, kdybychom mohli využít těchto strojů pro posílení výpočetního výkonu našich systémů? V tomto souboru článků Jdu se podívat na potenciální výhody zaměstnávání úřadu sítě pomocí virtualizovaných prostředích.

V části 2 jsme se podívali na pracovní místa server poběží, a jak pracovních míst by měl být nakonfigurován tak, aby bylo dosaženo co největší množství zpracování a zároveň zajistit, že každá práce je zpracována bez výjimky.

Nastavení pracovník - nebo nouzový server

Dalším krokem v tomto procesu je nastavit virtuální pracovníků. Pro tento budu používat instalace CentOS pomocí VirtualBoxu. Jdu k instalaci MySQL a PHP na serveru, také známý jako kulhat (Li nux, m ySQL, P HP) Servera (Možná jsem se, že název se).

  • Instalovat VirtualBox na váš počítač se systémem Windows (následovat odkaz)
  • Stáhnout a nainstalovat CentOS (aktuální verze 5.3) v rámci vytvořený virtuální stroj

Neexistuje žádný bod, abych bude to tam asi 1.000 's velkou cvičení venku (ok, tady je jedna: Vytvoření a Managing CentOS virtuální stroj pod VirtualBox ). Důležité poznamenat, myslím, že jsem zavolala virtuální stroj GridMachine.

Co se týče mé volby virtualizace klientů a operační systém tam není žádný velký závažný důvod pro každou volbu. VirtualBox je něco, co jsem se používat na svém domácím počítači a je podporována třemi hlavními operačními systémy. Vybrala jsem si CentOS jako dobrý stabilní OS, a používám ho na vlastní webový server. Jsem velkým zastáncem správné nástroje pro práci (i když já jsem použití 'použití nejrychlejší a nejjednodušší pro vás' mentalita zde), takže pokud operační systém X spouští svůj kód rychleji a efektivněji využít, že místo toho:)

Důležité je, aby vaše VM používá DHCP, jinak pro každého nového virtuálního stroje by bylo nutné konfigurovat samostatně, které je něco, co nemáme want.By pomocí DHCP nepotřebujeme pro konfiguraci síťových nastavení individuálně pro pracovníka stroje, bude DHCP ruce z IP pro vás. Proto je možno zkopírovat vaše virtuální stroj o kanceláři bez obav o nastavení každé z nich se (to zvyšuje škálovatelnost a sníží pracovník správy).

Proces byste měli za cíl dosáhnout, by bylo získat nový fyzický stroj, nainstalovat VirtualBox a pak do značné míry nasadit virtuální obraz, aniž by mnoho jiného. To by mohlo být moudré nastavit všechny své zaměstnance na jiné podsíti, takže si můžete alespoň vidět, kolik strojů se systémem. Budete také muset nastavit stroje na dlouhodobý pronájem nebo leasing neomezené DHCP.

Jak spustit práce na pracovníka

Jedná se o zajímavou oblast a tam je několik ověřených metod pro zpracování práce na pracovníka. Zde jsem si jen diskutovat dva nejzřetelnější:

  • Trvale spuštění skriptu: Skript, ať už je to shell skript, nebo PHP skriptu je proveden jednou na pracovníka a běží jako součást nekonečné smyčky. Já jsem tuto metodu diskontovaných jako jeden pád skript a potenciálně vaši zaměstnanci přestanou běžet, aniž by nějaký zásah.
  • Cron na základě skriptu: každých x minut cron démona začíná volání skriptu dát věci do pohybu. Bez nějaké kontroly by to mohlo vést k mnoha mnoha kopií pracovníka skript běží.

Moje rozhodnutí bylo jít s cron, který odstartuje skript každých 10 minutes. Můj skript provede následující úkoly:

  1. Získat seznam procesů a grep to pro 'php'. Pokud nebyl nalezen pak pokračovat.
  2. Zavolejte svou práci kód, v mém případě by to bylo něco, co PHP na základě
  3. Pracovník skript dokončí jeho běh
  4. Připraven jít zase na další příslušné výzvy

Moje bash skript vypadá takto:

  #! / Bin / sh
 pokud ps ax | grep-v grep | grep php> / dev / null
 pak
     echo "práce je v současné době zpracování, exit"
 jiného
     echo "práce není spuštěna, spusťte nyní"
     php yourJobProcessingScript.php
 fi 

Poznámka: echo jsou téměř úplně zbytečné, ale může pomoci další osoba, která přijde, aby se pokusila upravit.

Tím končí nastavit pracovníka virtuálního stroje, rychlý, jednoduchý a snadno kopírovat pro každý nový kus hardwaru, který je přijal. 'Chytrost' distribuční soustavy opravdu není v OS zviditelnit, jeho vše dělat s kódem vytvořených pracovních míst pro zpracování, práce konfigurace, a ujistěte se, že práce spustí v případě potřeby (tj. když hostitel je nečinný ).

Nastavení systému Windows pro inicializaci pracovníků

Prvním úkolem je vypracovat příkazu potřebné ke spuštění virtuálního stroje z okna příkazového řádku. Pokud jste nainstalovali VirtualBox ve výchozím umístění a jste jmenoval svého pracovníka GridMachine pak příkaz požaduje, aby zatížení vašeho pracovníka je:

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

Nicméně spustit skript v 'bezhlavého' stavu musíme použít:

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

Tím se spustit virtuální počítač bez grafického uživatelského rozhraní a nechte ji zachránit státní elegantně. Druhý argument se vypne RDP tak to není v rozporu s okny RDP, nebo vám zprávu o naslouchání na portu 3389. Název virtuálního stroje je malá a velká písmena!

Dále budeme muset nastavit okna až k nastartování našeho pracovníka VM, jakmile stroj byl nečinný. Chcete-li to (na Windows XP), budete muset jít Start -> Programy -> Příslušenství -> Systémové nástroje -> Naplánované úlohy jak je uvedeno níže:

naplánovaných úloh

Další klikněte na 'Přidat naplánovanou úlohu' následované procházet přidat vlastní program. Navigovat do VBoxManage skript a klepněte na tlačítko OK. Rozvrh váš úkol pro některou z možností (budeme změnit v minutě) a pokračujte. Po přeskočení na další obrazovku Windows se vás zeptá, kdo chcete spustit tento úkol, tak bych navrhnout buď 'správce' nebo vytvoření nového privilegovaný uživatel. Pamatujte, nechceme zasahovat do standardní zaměstnanci účet na stroji, na jakémkoli místě. Klepněte na tlačítko Další a zkontrolujte zobrazit pokročilé možnosti pro tento úkol.

Na konci běhu textového pole přidat naše 'startvm GridMachine' řetězec, a zajistí, že běží pouze při přihlášení je vlevo unticked. Navštivte harmonogram úkolů a další změny rozvrhu rozbalovacího na volbu 'při nečinnosti', vyberte dobu, po kterou chcete, aby byl stroj nečinnosti před přechodem na další záložku.

Nakonec zrušte zaškrtnutí volby v němž se uvádí zastavit úkol, pokud byl spuštěn X množství času, ale zaškrtněte možnost zastavit úkol, pokud je stroj již není nečinný.

plán

To je to pak pro Windows Host nastavení!

Shrnutí

V této části jsme vytvořit virtuální stroj působit jako dělník, stejně jako způsob, který nazýváme a spouštět skripty naše práce zpracování (pro sebe PHP skriptu). Odtud se podíváme na to, jak nastavit naše kopie oken nastartovat virtuální počítač v režimu bezhlavý, když je počítač nečinný stane, a uložit svůj stav, když uživatel obnoví využití stroje. Doufejme, že v tuto chvíli vidíte, jak jednoduché je vytvořit takový systém, a jsou svědění získat nějaké pokusy jít sami!

Příště

V části 4 se budeme se dívat na používání nástrojů, aby zajistila, že používáte nejnovější verzi kódu a datových zdrojů tak, aby získané výsledky jsou vždy up-to-date s nejnovějšími obchodních informací a logiky.

Úřad výpočetních sítí pomocí virtuálních prostředí - Část 1

Tím, Steven Lloyd Watkin , pátek 04.12.2009 23:23

Úvod

Pracuji ve firmě, kde jsme se spustit mnoho dávkové úlohy zpracování miliony záznamů dat každý den a já jsem byl nedávno přemýšlel o všech strojích, které sedí kolem každého a každý den nedělá nic pro několik hodin. Nebylo by dobré, kdybychom mohli využít těchto strojů pro posílení výpočetního výkonu našich systémů? V tomto souboru článků Jdu se podívat na potenciální výhody zaměstnávání úřadu sítě pomocí virtualizovaných prostředích.

Jako PHP developer budu používat nástroje, které používám každý den a to, Linux, mySQL , PHP, VirtualBox a Subversion (SVN). Nicméně doufám, že tento průvodce bude adaptovat do jiných jazyků a technologií, stejně dobře.

Řešení, které jsem poskytují bude velmi volně založený na typu zpracování bychom třeba dosáhnout však to nemusí být pravda, přes celý článek, jak budu měnit věci pro jednoduchost, nebo produkovat více zajímavých scénářů použití.

Tyto virtualizovaných prostředích poběží na Windows strojích, protože to je to, co většina úřadů běhu. Zpracování, kancelářské stroje se nemělo zasahovat pracovníky pomocí těchto strojů, by měla vyžadovat žádnou údržbu na stroji, a musí být snadno nasadit na nové stroje, které budou k dispozici. Také by nové virtuální stroje nevyžaduje žádné další nastavení, protože to výrazně snižuje škálovatelnost a snadné, při které může distribuční systém rozšířen.

Proč Nasazení Office Computing Grid?

Za prvé si mohou myslet, proč ne právě použití cloud computing zdroje, jako je Amazon EC2 platforma ? No důvodů může být několik, například:

  • Nebudete svěřit některé údaje na životní prostředí cloud computing
  • Nemůžete dát některé údaje v prostředí cloud computingu pro právní důvody (např. údaje výjezdu ze země), případně z právních důvodů, např. NHS záznamů.
  • Chcete, aby vaše zpracovatelských jednotek blízko a mít plnou kontrolu nad hardwarem příliš
  • Nemáte projekt finanční prostředky ke spuštění instancí cloud
  • Váš úřad nemá připojení k internetu, a proto není možné jeho použití cloud zdroje
  • Nemáte jako déšť, mraky naznačují déšť, proto budete mít daleko

Jsem si jistý, seznam by mohl pokračovat, ale myslím, že by pro začátek stačilo.

Výhody gridové výpočetní Office

Dobře, pojďme udělat nějaký matematiky (a fyziky v pravém stylu umožňuje provést některé rozsáhlé předpokladů). Představte si, že máte velký svalnatý zpracování server běžící 100 pracovních míst za den. Ve vaší kanceláři máte 50 strojů, které jsou nečinnosti 16 hodin denně, každý z těchto strojů je 10% jak silný jako svalnatý zpracování sever. (Všechny výsledky zde jsou zaokrouhleny na podceňovat zvýšení výkonu).

Takže stroj * 10% energie * 2 / 3 = 0,067 času, tj. o 1 pracovní ploše zpracování v nečinnosti by mohlo 1 proces, 6 plný úloh za den.

Pokud nyní měřítko to až za 15 nečinnosti stolních počítačů až po proces co nejvíce pracovních míst za den jako hlavní server pro zpracování dělá.

Takže v naší kanceláři předstírat 50 strojů bychom mohli zvýšit náš výkon zpracování od 1 do 4 server plný zpracování servery, nebo bychom mohli být zpracování 400 pracovních míst za den namísto 100.

Všimněte si, bez investice do nového hardwaru vaše firma právě zvýšila dávkové zpracování kapacita 4 krát! Potenciálně se chystáte zvýšit spotřebu energie, ale z většiny kancelářských prostředích Byl jsem na stroje jsou obvykle vlevo na přes noc stejně, takže jste mohli vidět jako zelenou iniciativu.

Další výhody také znamená, že investice do nových (či aktualizované) zpracování servery mohou být odloženo, pokud vaše kancelářských strojů, jsou dostatečné a že, jak si vylepšit výkon vašeho kancelářských strojů kanceláře síť stala silnější automaticky.

Technologie

Co budete potřebovat? (Nebo více správně to, co jsem použití):

  • Nečinnosti kancelářské stroje (v mém případě náhradní starých oken notebook XP)
  • VirtualBox (nebo jiný virtualizační klientský software)
  • Virtuální stroj s PHP, mySQL running běží kácet OS, volám těchto mých LIMP servery:)
  • Pracovních míst pro spuštění
  • Zaměstnání server (může být jiný virtuální stroj někde)

Typická práce

Typy úloh, které tento systém je navržen tak, aby je takto:

  • Systém obdrží seznam údaje, na kterých musíme zápas a vrátit výsledky
  • Odpovídající zahrnuje kontrolu / vyhledávání několik (poměrně statické) zdroje dat
  • Výsledky ze zdrojů dat mohou vyžadovat další validace, slučování, ověřování dalších datových zdrojů v reakci na výsledky
  • Data se vrací s odpovídající záznamy, plně ověřen a zpracován
  • Každý záznam v zaměstnání je nezávislá na zbytku

Takže v podstatě se díváme na běžící úlohy, které vyžadují směs vyhledávání v databázích a nějaké číslo drtit, poměrně typický scénář v podnikatelském prostředí.

Mřížka řešení jsou nejen výhodné pro zpracování práce tohoto typu. V podstatě může být každý proces, který může být rozdělen do nezávislých jednotek probíhat souběžně. Viz tento wikipedia pro příklady a další informace: grid computing , ale pár známých příkladů je Seti @ Home a BIONC . Existují rámce pro provoz výpočetních sítí, a tyto jsou dobře stojí hledá do.

Co budeme dosáhnout?

Do konce těchto článků Doufám, že se ukazuje, že rozmístění úřad sítě nemusí být obrovsky nákladná a časově náročná. Jdu k projednání:

  • Nastavení práce kontrolního systému, práce konfigurace
  • Vytvoření vhodného zpracování virtuální stroj
  • Jak nastavit systém na počítač se systémem Windows
  • Zajištění, že používáte nejnovější kód a data
  • Nasazení a benchmarking
  • Výhled do budoucna

Budu budovy (ok jsem stavěl, pak napsal), příklad aplikaci pro testování koncepcí na lokální počítač v systému Windows XP a moje 'GridMachine' virtuální stroj. Mým úkolem kontroly server bude můj hlavní stroj, který běží Fedora 11 .

To je v žádném případě předvést plně funkční robustní systém, jeho znamenal více demonstraci a diskutovat o tom, že tyto věci může být dosaženo v rozumně krátké době a za malou cenu. Neváhejte a pošlete mi jakékoli připomínky, opravy, či vylepšení a já budu dělat moje nejlepší, aby tento článek aktualizován na zápas.

Příště

V části 2 Začnu se podíváme na systém kontroly práce, a podívejte se na to, jak by měla práce být nakonfigurován tak, aby bylo dosaženo co největší množství zpracování a zároveň zajistit, že každá práce je zpracována bez výjimky.

Úřad výpočetních sítí pomocí virtuálních prostředí - Část 2

Tím, Steven Lloyd Watkin , pátek 04.12.2009 23:23

Úvod

Pracuji ve firmě, kde jsme se spustit mnoho dávkové úlohy zpracování miliony záznamů dat každý den a já jsem byl nedávno přemýšlel o všech strojích, které sedí kolem každého a každý den nedělá nic pro několik hodin. Nebylo by dobré, kdybychom mohli využít těchto strojů pro posílení výpočetního výkonu našich systémů? V tomto souboru článků Jdu se podívat na potenciální výhody zaměstnávání úřadu sítě pomocí virtualizovaných prostředích.

In Part 1 I gave an overview of the system and technologies I will be using as well as discussed some of the potential reasons why you would want to create an office grid.

Job Control

If you're going to be running jobs then you're going to need some way to manage them. Your job control system (on your job server) needs to be really well thought out before even attempting to run an office grid. So firstly, what are the tasks for a job control system:

  • Hand out jobs upon request from workers
  • Tell workers what type of jobs to run
  • Track jobs
  • Ensure that jobs are only run once
  • Provide job data to workers, or at least tell them where to get it

The system also needs to be extensible, a solution that works for now in a single case may be extended to run several types of jobs as the business sees the worth in a grid solution. For example, jobs may gain priorities, more than one job type may exist (ie several code bases), eventually you may even run several different worker machines that are optimised for each type of job (although that does move away from the 'generic worker' idea). Always try to think about the future when developing systems, a short term vision can lead to longer term frustration and increased development time.

Server práce

We're going to need somewhere to control our jobs from, this should be the only system in your grid that has a fixed resource locator, be that an IP address, host name, URL (using internal DNS), etc. This is because the workers need to know where to look for jobs, workers need to find the job control system (not the job control system find the workers).

The job server itself doesn't really have a complicated task (in a basic system anyhow), it needs to store a list of jobs, hand out jobs, receive results, and subsequently store them for later retrieval. How these parts (such as 'hand out jobs') are defined can be very basic. Later on we can extend the system to include an administration interface to add, edit, delete, suspend jobs but this is beyond this exercise.

There is no reason whatsoever then that your job server could not be a virtual machine running within your main processing server provided it doesn't drain too many resources from it. The job server however does need high availability, if it goes down on a Friday evening you're going to lose a whole weekend of processing, potentially costing you a couple of weeks worth of processing time (when compared to your main processing server alone). You may want to consider putting your job server on a load balanced environment for high availability.

Základní nastavení

The basic setup for our job server will consist of what I'm calling one of my LiMP servers (that is Li nux, m ySql, P HP). The code running on the workers will actually work out what jobs it can run by interacting with with job control system databases. Later on we could create a web service and actually hand out jobs rather than having the workers do the hard work themselves, but for now we'll continue using the KISS principle (Keep it Simple, Stupid!).

So, lets create three mySQL tables to deal with jobs. These will be `jobs`, `jobRecords`, and `jobResults`.

jobs table Here I'm using SQL Buddy a great little alternative to phpMyAdmin just because its easier to install on centOS (for others see: 10 Great alternatives to phpMyAdmin )

This table consists of 5 simple fields,

  • id: Uniquely identify the job
  • name: Could be a client reference, or any number of other identifiers
  • Status: You need to know where the job is at, eg
    • 0: Not started
    • 1: Picked up
    • 2: Completed
  • started_by: Who's started doing the job? This isn't entirely required but is a nice to have. I'd suggest tracking workers by their IP address on your network
  • started_at: When did the worker start the job? By tracking jobs that have not completed within X amount of time we know we need to pick up the job once again and start processing by another worker. Workers could stop processing/go offline for any number of reasons, power failure, crash, network loss, etc.

It is easy how this table could be extended with a few additional fields to allow for statistics tracking, a finish time column to see how long the job took, a counter to see how many workers picked up the job (obviously this needs to tend to 1), job priority, the list can go on and on. In more complex job scenarios it would be possible to specify how much memory the worker would need access to (and therefore only use suitable workers), or even what type of worker would be required.

Lets add a few example jobs:

example jobs

The next table again is quite simple to understand, these are our job records. They are linked to the main jobs table by a column `jobs_id`. The make up of this table very much depends on the data that you need to supply to your workers, lets make a very simple example where we have four columns:

  • id: ID of the record
  • name: Person's name
  • address: Person's address
  • jobs_id: The job ID that this record is linked to

The third and final table consists of a results table, it has much the same make up as our records table, and with the addition of some columns could be part of the records table:

  • job_record_id: Link the result to the job table
  • result: The result data

…and that's all you need for job control! (albeit at a very basic level) In my case I'm pointed to another table where my data to process was located, but this could just as easily been a file, parameters to run simulation code, you name it.

Selecting a job

Jak již bylo uvedeno dříve, budou pracovníci dělat naši práci vedení pro nás teď, takže musíme opravdu udělat, je najít si práci, která potřebuje zpracování a získat informace. Jak bychom to udělat? No vyzvednout naše kritéria výběru zaměstnání a hledat práci v SQL jsem následující:

  1. Vezměte všechny úlohy, které nejsou označeny jako kompletní, ale z našeho pracovníka, a reset je (náhradní __ME__ s identifikátorem, bude nejjednodušší je IP adresa):
      UPDATE `` SET `zaměstnání status" = 0, kde `status` = 1 `A` = started_by __ME__; 
  2. Pomocí našich kritérií výběru povolání, zvolte práce a říct kontrolní systém, který tento pracovník se zabývá se:
      UPDATE `` SET `míst status = 1`, `started_by` = __ME__, `started_at` = NOW (), KDE `status` = 0 nebo
     (`Status` = 1 A `` started_at> DATE_SUB (NOW (), INTERVAL X HOUR)) ORDER BY `id` ASC; 

    Tím, že chytne úlohy, které nejsou vráceny výsledky ve výši X jsme zajistit, že všechny úlohy jsou spouštěny v případě pracovníka shazovat nebo jít AWOL.

  3. Další uchopit zaměstnání podrobnosti následuje záznamů sami:
      SELECT * FROM `pracovních míst", jestliže `` = started_by __ME__ LIMIT 1;
     SELECT * FROM `` job_records Kde `id` = __JOBID__; 

Po dokončení práce vložíme náš výsledek záznamy a označit práci jako kompletní. Pamatujte si, jak pracovních míst může pozastavit / obnovit kdykoliv počítat s nějakou robustnost ve skriptu. To by mohlo být, že úkol odloží půli aktualizace práci kontrolního systému, takže kontrola počtu záznamů v zaměstnání a počet výsledků uloží zpět do systému kontroly práce by moudrý tah.

Kromě toho, i když to ukazuje, jak lze pracovní místa být vybrány a řízeny z SQL-query rámec, který by měl být opravdu oddělovat vaše práce kontrolu tak, že pokud se rozhodnete přejít na používání webových služeb, souborů založený systém, XML , nebo jakékoli jiné řada systémů to nebude mít vliv na kód, nad ní.

Konfigurace práce

Dalším aspektem je, aby zvážila velikosti úlohy a konfigurace. Tím, že hraje s konfigurací práci můžeme nalézt vynikající rovnováhu mezi rychlostí, proces replikace a spolehlivost. Vezměte pár OFA scénáře:

  1. Pracovních míst trvat 1 den každý spustit: To znamená, že vaši zaměstnanci potřebují 15 dnů na zpracování jednotlivých zaměstnání (pamatujte 10% energie pro 2/3rds času). To je jasně není moudré konfiguraci, vaše práce je velikost příliš velká! To by trvalo minimálně dvakrát čas, aby si práci zpracovaných měla původní pracovník jít AWOL (čas zvednout to, že není vrácen výsledek plus přepracování času). V ideálním byste mít alespoň jeden celý pracovní snadno schváleny do konce každého dlouhé nečinnosti období, tak budete mít práci přes tikání a v nejhorším případě zaměstnání trvalo dva dny proces by měl jít první chybí.
  2. Pracovních míst trvat 1 minutu běžet: To znamená, že vaši zaměstnanci trvat asi 15 minut běžet každé pracovní místo. I když to zpočátku může zdát ideální, můžete získat další práci pro zpracování v době oběda, přestávek na kávu, schůzky, atd. tento scénář klade nároky na další oblasti vašeho systému a zavádí své vlastní problémy. Například, nejprve si setup / doba zpracování je poměr jít přímo dolů, proto ztrácí účinnost systému. Vaše síť bude neustále streamování pracovních informací mezi různými pracovníky frustrující zaměstnanci, kteří jsou dong jejich každodenní práci. Vy jste také chystá dát více napětí na vašem serveru, zpracování zakázek, jak to má naservírovat spousty malých kousků práce na pravidelném základě. Konečně, v této situaci, pokud vaše práce serveru jde dolů se chystáte vytvořit obrovské zadní protokol o nedokončenou práci vzhledem k tomu, větší zaměstnanost by mohlo dalšího zpracování blažené nevědomosti, že práce byla server potíže.

Ve skutečnosti tam bude nikdo ideální sestavu pro vaši síť nastavení, hodně závisí na dostupné zdroje, druh zaměstnání, pracovní požadavky doba obrátky, možnost práce v síti, a tak dále. Nicméně některé pokyny by měly mít:

  • Velikost pracovních míst tak, aby každý zaměstnanec může dostat přes alespoň 3-4 pracovních míst v období 15 hodin (pravděpodobně nejdelší doby nečinnosti období)
  • Hrajte s velikosti úlohy, takže nastavení času stává docela zanedbatelné ve srovnání s dobu zpracování (s přihlédnutím k výše uvedenému bodu).
  • Pokud práce není kompletní dvojnásobné množství času (možná méně) můžete očekávat, že na jeho dokončení předpokládat, že jeho pryč dezertoval a začít zpracovávat to s jiným pracovníkem. To znamená, že budete muset počkat až na trojnásobek běžné délky práce pro to, aby kompletní (možná i déle, pokud následné práci se nezdaří). Možná budete chtít zkrátit tuto lhůtu, ale dávejte pozor, aby ho snížit příliš mnoho, jak si může zahájit rozmnožovací zpracování úloh na pravidelném základě.
  • Pracovních míst by měly být nezávislé na vnější požadavky, co nejvíce. Pracovní server, například, by měly být kontaktován na začátku a na konci každé pracovní místo.
  • Nepoužívejte nasycení síti, bude to mít dva negativní dopady, bude vaše denní zaměstnance najít pomocí sítě frustrující a problémy mohou být zkušenosti s připojením časového limitu problém, který se bude jen zhoršovat, jak si měřítko své sítě.
  • Zajištění pracovních míst může běžet na vašich zaměstnanců. Pokud pracovních míst příliš náročné na paměť nebo prostor na disku intenzivní práce začne končím a jediné, co si všimnete, je pokles počtu pracovních míst zpracovány žádný skutečný důvod, proč.

Pošlete výsledky práce

Při předkládání výsledků práce je důležité zkontrolovat, že výsledky nebyly předloženy jiným pracovníkem, a to zejména v případě, že stávající pracovník byl spící na nějakou dobu.

Když výsledky jsou předloženy, aby počet výsledků utkání počet záznamů v práci.

Jak již bylo uvedeno, a nemůže být více než zdůraznit, budovat odolnost proti chybám v práci a výsledky vyhledávání podání. Pracovníci mohou (a pravděpodobně bude) jít do režimu spánku nanejvýš nevhodné časů, a to musí být pro zajištěný. Také opět odstraní pryč vaše výsledky podání pomohou uspokojit budoucí změny systému kontroly práce mnohem jednodušší řešení.

Shrnutí

V tomto section jsme se zaměřili na to, co kontroly práce server musí udělat a jak se dostat velmi základní systém nastavit. Diskutovali jsme o tom, jak získat práci z řídicího systému, a jak nejlépe nastavit pracovní místa, aby co nejvíce našich vašeho systému úřadu sítě. Až do konce, nebo dva odstavce o předkládání výsledků zpět na server kontroly práce byla prezentována.

  • Kontroly práce server spravuje pracovních míst a zajišťuje, že všechny pracovní jednotky jsou dokončeny
  • Tím, že odstraní svou práci vybrat / výsledky podávání můžeme změnit technologii ovládání serveru bez velké problémy
  • Sestavte si svůj pracovní místa, aby bylo zajištěno, že jsou provozovány rychle a efektivně, aniž by příliš velký tlak na vaší síťové infrastruktury, a nedochází ke zdvojování úkolů zpracování na pravidelném základě.
  • Ujistěte se, že budete stavět tolerance chyb a omylů checking do rutiny, mohou pracovníci pozastavit a obnovit a při nejnepříznivějším časů. Nezapomeňte zkontrolovat, zda výsledky již byly předloženy jiným pracovníkem.

Příště

V části 3 , budeme vytvářet naše virtuální zpracování a nastavit naše okna strojů, aby se stal nečinnosti-úvazek.

Úřad výpočetních sítí pomocí virtuálních prostředí - Část 5

Tím, Steven Lloyd Watkin , pátek 04.12.2009 23:03

Úvod

Pracuji ve firmě, kde jsme se spustit mnoho dávkové úlohy zpracování miliony záznamů dat každý den a já jsem byl nedávno přemýšlel o všech strojích, které sedí kolem každého a každý den nedělá nic pro několik hodin. Nebylo by dobré, kdybychom mohli využít těchto strojů pro posílení výpočetního výkonu našich systémů? V tomto souboru článků Jdu se podívat na potenciální výhody zaměstnávání úřadu sítě pomocí virtualizovaných prostředích.

V části 4 se podíval na používání nástrojů, aby zajistila, že jsme používají nejnovější verzi kódu a datových zdrojů tak, aby získané výsledky jsou vždy up-to-date s nejnovějšími obchodních informací a logiky.

Pre-nasazení

Před nasazením své distribuční soustavy, pokud je tu ještě jedna věc, kterou uděláte, a jednu věc, jen je to benchmark váš současný systém! Bez ohledu na to, co řeknete kolegy o tom, kolik práce navíc je váš systém bude dělat, pokud jste čísla by toto vaše záruky jsou nic. Tak,

  • kolik záznamů můžete zpracovat v současné době? Za den? Za hodinu?
  • Jak dlouho to obvykle trvá otočit práci?
  • Kolik větší kapacitu máte?

K dispozici je také doplňující otázky:

  • Pokud váš zpracování server (nebo jeden z vašich zpracování serverů) jde dolů, jak to ovlivní vaše schopnosti, budete mrzák?
  • Jaké výhody vám naději / očekávat, že si z distribuční soustavy?
  • Jsou vaše kancelářské stroje schopné provozovat pracovní místa?
  • Jsou vaše (nebo si můžete práci převést) pro práci v tomto stylu běhu?

Poslední hlavní bod, je vzít si čas na žádné velké změny, jako je tento. Aktualizujte svůj operační kód pro práci s použitím nové metodiky, benchmark znovu. Možná nastavit zpracování server spustit virtuální stroj, po všech těch zpracování server bude jen dalším pracovníkem (jen velmi silnou, poměrně). Umožnit nový proces se usadit.

Nasazení

Můj návrh by byl pop do kanceláře jeden víkend provádět veškeré instalace a nastavení. Udělejte to těsně předtím, než čtrnáctidenní dovolenou a nechat tak ostatní chudák se vypořádat s následky ... možná taky ne ...

Deployment for a system like this needs to be slow. Despite it being relatively simple to set up this system will affect your entire office infrastructure (well the digital one). Firstly, roll out to a couple of machines at a time, monitor network traffic, how the worker hosts perform on a day-to-day basis. You may need to alter your job configuration in response to your findings.

Once the system has settled with a few machines (lets say 10% of all office machines, ie 5) keep monitoring network traffic and host machine performance. Next benchmark again, you should now be processing 33% more jobs than your first benchmarks. Check this is so, or that you're at least in this ballpark. If not, investigate what is going on before moving on. Repeat this cycle until you happily have all office machines running without killing individual machine performance or grinding your network to a standstill.

At all times keep benchmarking, even after all deployments are made. Check how new code updates affect speed of your system, check all workers are reporting in and processing jobs. Slowly (very slowly) increment your job configuration to get the best from your workers and network.

Stop!

Co když chcete zastavit své pracovníky v běhu na nějaký čas? Všichni jsou tam běží, regenerace, a snaží jejich nejlepší pro zpracování dat, jako je hlad hmyz. Odpověď se může zdát zřejmé, ale nutno dodat, jen v případě, že jeho přehlíženy. Stačí upravit svůj zpracování skriptu s exit (0) nebo die () nebo některé další údaj, zabít svého zpracování práce. Důležitým důvodem, proč se vždy snažíme aktualizovat na nejnovější zpracování skriptu před utíkej!

Demonstrace systému

Aby bylo možné psát tento soubor krátkých článků jsem vytvořil velmi malé sítě k prokázání technologií a metod. Četl jsem spoustu článků, návodů, a používá různé nástroje pro nastavení a sledovat, co se děje. V žádném případě jsem šel ven a nasycených celou kancelář s provozem a ani jsem měl přístup k pravidelným PC zaměstnance, aby viděli, jak byl ovlivněn výkon hostitele.

Moje demonstrace systém byl velmi pokorný opravdu. Použil jsem běžné stolní nastavit jako server kontroly práce. Na tomto jsem měl nainstalovaný MySQL server nainstalován nastavit jako master replikace, PHP , Â a SVN spojený přes apache (pro přístup přes pracovníka VM).

Pak jsem vytvořil CentOS pracovník stroj na VirtualBox na 6 roků starých oken notebook XP. I nastavení naplánovaných úloh, jak je uvedeno po zkopírování VM na stroj a nechte ho jít.

Virtuální stroj byl zřízen s PHP, podvratné činnosti, a mySQL. Ověřil jsem si větev s názvem 'pracovník' z mých serverů zaměstnání kontrolu úložiště a ujistili se, že by mohla být aktualizován pomocí 'svn update'. Dále jsem nastavení MySQL jako otrok a ověřil, že data byla replikace z MySQL na serveru kontroly práce se na pracovníka VM. Po tom všem jsem setup bash skript a cron.

Moje zpracování skriptu v podstatě šlo v duchu této (velmi jednoduché věci):

  • Přečtěte si v názvu pole
  • Počítá se počet podobných jmen v tabulce ze zdroje dat se konalo ve dnech VM
  • Počítal počet jmen jako výše, ale rozdělení na název mezerami (tj. jméno, střední, příjmení)
  • Opakoval tento proces 1.000 krát

Každá práce se přibližně 20 minut běžet. V jednu chvíli jsem otevřel několik kopií pracovníka VM na oknech notebooku a sledoval, jak pracovních míst odškrtnout každý pracovníka IP adres. Na tomto místě bych také potvrdil, že replikace se automaticky restartuje.

Odchod z notebooku na volnoběh za následek pracovník zahájením zpracování úloh ze serveru kontroly práce. Při obnovení laptop využití došlo ke zpoždění asi 30 až 60 sekundy, to je slušné množství času a personálu by muselo být vědomi, že jejich stroj může pozastavit na krátkou dobu při návratu do stroje. Novějších strojů nesmí mít pauzu tak dlouho. Ve prospěch výše zpracování vykonávané v rámci těchto strojů během nečinnosti období by více, že převažují zaměstnanci museli čekat krátkou dobu (řekněme 1 minuta) při příjezdu na jejich stroje ráno (jsem často déle čekat, že to pro Windows Defender Aktualizace se konat) za předpokladu, že byli informováni o této (užitečné čas chytit ranní kávu!).

Celkově mám pocit jistoty, že jsem demonstroval technologie, které by mohly být použity k vytvoření takového systému. Ukázal jsem, že takový systém funguje na (velmi), v malém měřítku a některé další experimentování může být zmenšen až využívat zdroje z úřadu strojů. Pokud nemám dostat do bodu, jak toho dosáhnout byl bych velmi zajímalo, / vidět, když to udělá někdo jiný.

Závěry / ​​hodnocení

Další zjevné krokem by bylo skutečně dostat reálného světa příkladem a začít nasazení systému, jako je to v prostředí kanceláře a uvidíme, co se stane. Kladení podnikání, aby se zavázaly to bez průkopnictví společnost prokázat technologii a účinnost může být trochu obtížné. Mřížky / Distribuované výpočty je velmi populární, je několik kruhů a má několik velkých aplikací (BIONC, SETI @ Home, Folding @ Home, atd.). Nechtěl jsem, nicméně, najít menšího rozsahu a jednoduchého systému, jako je to v mém hledání, které by mohly být válí v kancelářském prostředí.

Vytvořil jsem v podstatě bez systému, s použitím převážně open source software a nástroje k dispozici v téměř každé kanceláře. Technologie byly v podstatě prokázat, a ukázat, aby fungovaly a fungují podle očekávání. Doufám, že jsem se ukázat, že se nebude moc práce a velmi jednoduché nastavení můžete nasadit kancelář grid computing systém, který je silný, levný, Â a škálovatelné všechny ve stejnou dobu.

Jakmile je systém v provozu není téměř žádný konec výše úprav a vylepšení můžete udělat. Například statistiky benchmarkingu lze snadno přidat ukazovat hodnotu takového systému každý den. Nové stroje mohou být přidány rychle a snadno, jak a kdy dorazí s modernizace stávající hardware posílení svého výpočetního výkonu.

Doufám, že jste si užil čtení této sérii článků a vám dal k zamyšlení na provoz kanceláře distribuční soustavy. Toto řešení zde nebude nutně fungovat ve všech situacích, ale měly by být schopny se přizpůsobit vám umožní dostat své zpracování dat provádí pomocí vlastního řešení.

Neváhejte a pošlete mi jakékoli připomínky, opravy, či vylepšení a já budu dělat moje nejlepší, aby tento článek aktualizován na zápas.













Panorama Téma, které Themocracy

7 visitors online now
1 guests, 6 bots, 0 members
Max visitors today: 11 at 12:56 am UTC
Tento měsíc: 22 na 08.06.2011 00:30 UTC
Tento rok: 130 v 28-03-2011 22:40 UTC
Všechny čas: 130 v 28-03-2011 22:40 UTC