Logo Blogo

Gearman

Pubblicato: 09 mar 2010 da Lpt on fire!


Gearman è un framework che vi consente di dividere il carico di lavoro su più macchine.

Il sistema lavora in parallelo con load balancing, si possono chiamare funzioni scritte in linguaggi diversi e può essere utilizzato sia per ottenere High Availability sia per sistemi più semplici. Una curiosità: il nome deriva dall’anagramma della parola Manager e fu scelto da Danga Interactive
che diede il via al progetto.

Un sistema che utilizza Gearman è diviso in tre parti: un client, un worker ed un job server. Il client crea il job ed invia la richiesta al job server che troverà un worker adatto al suo svolgimento come potete osservare nello schema in copertina.

Le varie parti comunicano utilizzando l’api fornita dal framework senza necessità di ricorrere all’utilizzo diretto di socket.

1 # Reverse Client Code
2 $client= new GearmanClient();
3 $client->addServer();
4 print $client->do("reverse", "Hello World!");

1 # Reverse Worker Code
2 $worker= new GearmanWorker();
3 $worker->addServer();
4 $worker->addFunction("reverse", "my_reverse_function");
5 while ($worker->work());
6
7 function my_reverse_function($job)
8 {
9 return strrev($job->workload());
10 }

Via | Gearman

1 stelle2 stelle3 stelle4 stelle5 stelle (nessun voto)
condividi condividi
0 commenti

Categorie

Articoli simili

Argomenti Simili

Gallerie Correlate

Inserisci per primo un commento a questo articolo.

L'email è richiesta ma non verrà mostrata ai visitatori.
Commenta questo articolo

Registrati per riservare il tuo nickname preferito su tutti i blog di Blogo e per caricare il tuo avatar. Se sei già registrato, effettua il login per usare il tuo nickname.

Si No
I commenti sono sottoposti alle linee guida per la moderazione.

Anteprima del commento