Técnica de failover do Memcached

2

Temos dois servidores memcached configurados e usamos o cliente Eniym. Quando um dos servidores está inoperante, parece que este servidor é adicionado à lista deadServers (ServerPool.cs) e tenta ressuscitar o servidor a cada 10 segundos (configuramos o deadTimeOut como 10 segundos). A tentativa de conectar-se ao servidor com falha causa um tempo limite de TCP, as páginas levam muito tempo para serem carregadas, o que resulta em uma experiência ruim do usuário.

1) Qual é o modo padrão de resolver esse problema? Existem alguns posts sobre como remover o servidor da lista deadServers. Tudo bem fazer isso?

2) Qual é a configuração deadTimeOut recomendada (entendo que, por padrão, são 2 min e mudamos para 10 segundos em nossa implementação)

3) Estou correto em entender que os dados armazenados em cache não são replicados entre o Servidor 1 e o Servidor 2? Se o servidor 1 estiver inativo, ele vai ao banco de dados para buscar esses valores (e realmente não verifica o servidor2)?

Qualquer ajuda é muito apreciada.

    
por user25164 10.11.2009 / 22:41

1 resposta

0

Sua avaliação está correta na maior parte. Não posso falar pelo seu cliente, mas um servidor inativo não deve afetá-lo em operações normais.

Isto é, você não quer failover, replicação, etc ... você só quer que seu cliente se comporte adequadamente quando ocorrer uma falha.

    
por 11.11.2009 / 00:41