Come viene distribuito memcache?


14

Ho memcache in esecuzione su 5 server Web che sono tutti nella lista degli host in php e che sono bilanciati in base al carico sul front-end. Quindi dato che si suppone che memcached sia distribuito, il client php deciderà su quale nodo scrivere coppie chiave / valore e manterrà un record per il successivo recupero dallo stesso nodo giusto?

Oppure il codice client php non è abbastanza intelligente per farlo e piuttosto scrive i dati su tutti i server e quindi ne mostra uno a caso dal pool da cui leggere?

Ma se lo fa; scrivere a tutte le istanze nella lista host / pool; quindi qual è lo scopo di uno strumento come http://repcached.sourceforge.net/ che replica i dati per ridondanza.

Il motivo per cui lo chiedo è perché tutti i server con bilanciamento del carico lo stanno eseguendo e se in effetti scrive su tutti i server nel pool, allora sembra che possa vanificare lo scopo della sua distribuzione e quindi dovrei semplicemente forzare php a estrarre dall'host nella lista host che è localhost.

Risposte:


16

La libreria Memecache è responsabile dell'invio della richiesta al server corretto. La libreria utilizza l'elenco fornito per inviare richieste a server diversi e memcache non esegue la replica.

Consultare l' articolo del diario di Linux . Spiega come funziona memcache in modo più dettagliato.


Ottimo articolo proprio quello di cui avevo bisogno, grazie Sameer. Ho anche trovato questo estremamente utile: code.google.com/p/memcached/wiki/NewConfiguringClient
Mike,

Nota che memcache suddivide i dati su più computer in base alla chiave, ciò significa che può essere utile distribuire il lavoro in modo uniforme sullo spazio delle chiavi in ​​modo che una macchina non venga colpita da tutto il traffico se è tutta per una chiave.
Lee Penkman,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.