Como configurar um cluster Redis pra cache de aplicação no VPS imprimir

  • 0

Fala, tudo bem? Aqui é a Sensei da GeHost 🥋 e hoje vamos treinar um golpe avançado: montar um cluster Redis no seu VPS pra turbinar o cache da sua aplicação. Pode parecer assunto de gente grande, mas eu vou te guiar passo a passo, com calma, do jeitinho que você merece.

O que é um cluster Redis e por que ele acelera sua aplicação

O Redis é um banco de dados em memória, super rápido, usado principalmente como cache: ele guarda informações que sua aplicação usa com frequência (sessões de usuário, resultados de consultas, contadores etc.) pra não precisar buscar tudo no banco de dados "de verdade" toda hora. Um cluster Redis é um conjunto de vários servidores Redis trabalhando juntos, dividindo os dados entre si (isso se chama sharding) e podendo ter réplicas — ou seja, além de mais rápido, fica mais resistente a falhas.

Dica da Sensei: se sua aplicação é pequena ou média, talvez você nem precise de um cluster — uma instância única de Redis já resolve muito bem. O cluster faz mais sentido quando o volume de dados ou de acessos já não cabe confortavelmente em um único servidor.

Antes de começar: o que você vai precisar

  • Acesso via SSH (terminal) ao seu VPS, com permissão de administrador (root ou sudo).
  • Pelo menos 3 servidores (ou 3 instâncias) para formar um cluster de verdade — o modo cluster do Redis exige um mínimo de 3 nós mestres para funcionar corretamente.
  • Idealmente, mais 3 servidores/instâncias para servirem de réplica de cada mestre (recomendado para alta disponibilidade), totalizando 6.
  • Comunicação liberada entre esses servidores na rede (isso pode depender de firewall/grupo de segurança do seu provedor de VPS).

Passo 1: Instalando o Redis em cada servidor

Repita esses comandos em cada um dos servidores que vão compor o cluster:

  1. Acesse o servidor via SSH.
  2. Atualize os pacotes do sistema (em distribuições baseadas em Debian/Ubuntu: sudo apt update && sudo apt upgrade).
  3. Instale o Redis: sudo apt install redis-server.
  4. Confirme a versão instalada com redis-server --version — para cluster, prefira sempre a versão mais recente estável disponível no seu sistema.

Passo 2: Configurando cada nó para o modo cluster

Ainda em cada servidor, abra o arquivo de configuração (geralmente em /etc/redis/redis.conf) com seu editor de texto preferido e ajuste estas linhas:

  1. cluster-enabled yes — liga o modo cluster.
  2. cluster-config-file nodes.conf — arquivo onde o próprio Redis guarda o estado do cluster (não edite esse arquivo na mão).
  3. cluster-node-timeout 5000 — tempo (em milissegundos) que o cluster espera antes de considerar um nó fora do ar.
  4. appendonly yes — ativa a persistência em disco, importante para não perder dados em caso de reinício.
  5. bind <IP interno do servidor> — restrinja o Redis para escutar apenas no endereço de rede interna usada entre os nós, nunca deixe aberto para a internet.
  6. protected-mode yes e requirepass <uma-senha-forte> — protegem o acesso com senha.

Depois de salvar, reinicie o serviço: sudo systemctl restart redis-server.

Passo 3: Liberando as portas necessárias

O Redis usa duas portas por nó: a porta principal (por padrão 6379) e uma porta extra para a comunicação interna do cluster, que é sempre a porta principal + 10000 (ou seja, 16379 no padrão). Libere essas duas portas apenas entre os servidores do próprio cluster no firewall ou no grupo de segurança do seu provedor de VPS — nunca as exponha livremente para a internet.

Passo 4: Criando o cluster com o redis-cli

Com o Redis rodando e configurado em todos os nós, escolha um deles para rodar o comando de criação do cluster:

  1. Verifique se o pacote redis-tools (que traz o redis-cli) está instalado.
  2. Rode o comando substituindo pelos IPs internos reais dos seus servidores:
    redis-cli --cluster create IP_NO1:6379 IP_NO2:6379 IP_NO3:6379 IP_NO4:6379 IP_NO5:6379 IP_NO6:6379 --cluster-replicas 1
  3. O --cluster-replicas 1 diz ao Redis para criar 1 réplica para cada mestre — por isso o exemplo acima usa 6 nós (3 mestres + 3 réplicas).
  4. Confirme quando o comando perguntar se pode prosseguir com a distribuição dos slots.

Passo 5: Testando e validando o cluster

  1. Conecte-se com redis-cli -c -h IP_DE_UM_NO -p 6379 (o -c ativa o modo cluster do cliente).
  2. Rode CLUSTER INFO — o campo cluster_state deve aparecer como ok.
  3. Rode CLUSTER NODES para ver todos os nós, quem é mestre e quem é réplica.
  4. Teste gravando e lendo um valor: SET teste "funcionou" e depois GET teste.

Passo 6: Conectando sua aplicação ao cluster

Sua aplicação precisa usar uma biblioteca cliente que "entenda" cluster (não é o mesmo cliente usado para um Redis único). Alguns exemplos comuns por linguagem:

  • Node.js: bibliotecas como ioredis, configuradas em modo cluster.
  • Python: redis-py com suporte a cluster (RedisCluster).
  • PHP: a extensão Predis ou a extensão nativa phpredis, ambas com modo cluster.

Em geral, você informa na configuração da aplicação a lista de endereços dos nós (não só um), e a própria biblioteca cuida de descobrir para qual nó cada chave deve ir.

Boas práticas de segurança e manutenção

  • Sempre use senha (requirepass) e nunca exponha as portas do Redis diretamente à internet.
  • Considere renomear ou desabilitar comandos perigosos (como FLUSHALL e CONFIG) usando a diretiva rename-command.
  • Defina uma política de remoção de memória (maxmemory-policy) compatível com o uso de cache, como allkeys-lru.
  • Monitore o cluster periodicamente com redis-cli --cluster check e INFO.
  • Mantenha backups regulares dos arquivos de persistência (RDB/AOF), além da própria replicação do cluster.
Dica da Sensei: persistência (AOF/RDB) e replicação ajudam contra falhas, mas não substituem um backup de verdade guardado em outro lugar. Guarde cópias fora do próprio cluster sempre que possível.

Precisa de uma mãozinha?

Configurar cluster é um passo avançado, e é normal ter dúvidas no caminho. Se travar em algum ponto, acesse o painel.gehost.com.br e fale com o nosso time de suporte — vamos ficar felizes em te ajudar a destravar esse combo. 🥋


Esta resposta lhe foi útil?

« Retornar