Servidor Memcached: É uma boa prática apontar dois URLs de servidor para o mesmo servidor?

Servidor Memcached: É uma boa prática apontar dois URLs de servidor para o mesmo servidor?

Eu tenho um sistema onde existem conexões com um servidor memcache de vários arquivos e servidores diferentes.

Gostaria de ficar com um servidor, mas manter a opção de aumentar o número de servidores memcache (para períodos de alto tráfego).

Minha ideia é dizer ao memcache que existem dois servidores, enquanto os dois URLs apontarão (por DNS) para um único servidor. No futuro, se eu quiser, posso adicionar um servidor e alterar o DNS sem alterar o código em muitos lugares.

Esta é uma boa prática? Existe um custo de desempenho no fato de haver duas conexões de servidor, mas ambas apontam para o mesmo servidor?

Alguma outra idéia de como obter capacidade de expansão instantânea da capacidade do memcache sem a necessidade de alterar o código e implantar?

Responder1

Depende do cliente memcached que você está usando e de como ele determina o hash de chaves em vários servidores. Você não deve esperar mais desempenho especificando dois servidores em vez de um, pois um único servidor memcached servirá mais conexões do que seu único servidor web pode suportar (provavelmente). Na verdade, fazer com que o cliente tente fazer hash de chaves em dois servidores diferentes (que na verdade são iguais) pode causar mais danos do que benefícios.

Se você não quiser implantar novamente, eu listaria seus servidores em uma variável ENVIRONMENT inserida no servidor como uma opção de configuração. Por exemplo, ENV['MEMCACHE_SERVERS'] e simplesmente configure-o no lado do servidor sem implantar novamente.

A beleza do memcache é que ele não foi feito para ser redundante ou failover, não é um armazenamento de persistência. Ele pode até ficar completamente morto e seu site simplesmente terá um cache de 0%, mas pelo menos ainda está funcionando.

Veja mais sobre redundância e failover em suas Perguntas frequentes.

informação relacionada