Como o memcache é distribuído?

14

Eu tenho o memcache rodando em 5 servidores web, todos na lista de host em php e que estão com carga balanceada no front end. Então, como o memcached deve ser distribuído, o cliente php decidirá em qual nó escrever pares de chave / valor e manterá um registro para recuperação posterior a partir desse mesmo nó?

Ou o código do cliente php não é inteligente o suficiente para fazer isso e, em vez disso, ele grava os dados em todos os servidores e, em seguida, seleciona aleatoriamente um do pool para ler?

Mas se isso acontecer; escreva em todas as instâncias na lista de host / pool; então qual é o propósito de uma ferramenta como o link que replica dados para redundância.

O motivo que eu pergunto é porque todos os servidores com carga balanceada estão rodando e se realmente gravar em todos os servidores no pool, então parece que ele derrota o propósito de ser distribuído e então eu deveria apenas forçar o php a puxar do host na lista de host que é localhost.

    
por Mike 08.12.2010 / 14:11

1 resposta

16

A biblioteca Memecache é responsável por enviar a solicitação ao servidor correto. A biblioteca usa a lista que você fornece para enviar solicitações para diferentes servidores e o memcache não faz replicação.

Consulte o artigo de revista do Linux . Explica como o memcache funciona com mais detalhes.

    
por 08.12.2010 / 15:30