O que fazemos · Dados e web: Object caching com failover automático

Uma object cache é o que impede o WordPress, o Magento e o Laravel de fazerem à base de dados a mesma pergunta milhares de vezes por minuto. Operamo-la como um trio replicado com promoção automática, para que a falha de um nó de cache nunca se transforme numa base de dados sem cache e sobrecarregada.
O que é
O Valkey (e o Redis, o seu antecessor compatível) guarda resultados calculados em memória: opções, menus, dados de sessão, resultados de queries, fragmentos renderizados. Isso torna a cache parte da sua disponibilidade, não apenas do seu desempenho. Uma única instância de cache é um single point of failure escondido, e nós não construímos dessas.
Como o construímos
- Três nós, um primário e duas réplicas, em hosts separados com anti-affinity rígida, para que nunca dois fiquem no mesmo hardware.
- Três Sentinels com um quorum de dois vigiam o primário. Se este falhar, entram em acordo, promovem uma réplica e indicam aos clientes onde está o novo primário.
- As aplicações ligam-se através do Sentinel, usando o nome do serviço em vez de um host e porta fixos. Uma promoção é transparente para o PHP: nenhuma alteração de configuração, nenhum reinício.
- Deteção rápida por desenho. O Sentinel está afinado para detetar um primário morto em poucos segundos. Um failover breve e desnecessário custa muito menos do que uma janela longa com um primário morto.
- Isolamento onde conta. As propriedades mais pequenas podem partilhar um cluster através de bases de dados lógicas separadas; os sites grandes ou críticos recebem a sua própria instância, para que um evento de cache num site nunca possa esvaziar a de outro.
Integramos também o lado da aplicação: o drop-in de object cache do WordPress configurado para Sentinel, os drivers de cache e sessão do Laravel, ou o equivalente do seu framework.
Do que o protege
- Um servidor de cache a falhar e todos os sites atrás dele a recorrerem à base de dados ao mesmo tempo.
- Uma cache partilhada a encher e a expulsar as chaves de que todos os sites dependem.
- Um flush ou um mau deploy de um site a esvaziar a cache dos vizinhos.
- Intervenção manual a meio da noite para apontar as aplicações a um novo host de cache.
- Entradas obsoletas que sobrevivem a uma release, porque fazemos flush e aquecemos a cache como parte de cada plano de deployment.
Na prática
Matar o primário, de propósito. Na plataforma de uma editora com vários sites parámos o primário da cache durante os testes de aceitação. O Sentinel promoveu uma réplica em cerca de seis segundos e todos os sites recuperaram sozinhos, sem qualquer ação humana. Numa plataforma de analytics construída mais tarde, o mesmo teste mediu cerca de sete segundos.
Porquê a EuroVPS
- Failover baseado em Sentinel como predefinição, não como extra pago.
- Anti-affinity imposta, para que as réplicas nunca partilhem hardware com o seu primário.
- Configuramos também o lado da aplicação, para que o failover chegue de facto ao PHP.
- Cada construção é testada em failover antes da entrega, com o tempo medido registado por escrito.
Perguntas frequentes
Valkey ou Redis? O Valkey é um fork open source compatível com o Redis. As aplicações e as bibliotecas de cliente funcionam sem alterações. Corremos o que a sua stack exigir.
O nosso site vai abaixo durante um failover da cache? Os pedidos em curso durante os poucos segundos da promoção podem falhar a cache ou ser repetidos. Depois, tudo continua no novo primário automaticamente.
Precisamos disto para um site pequeno? Uma única instância serve para um site pequeno cuja base de dados aguenta toda a carga. A partir do momento em que perder a cache sobrecarregaria a base de dados, deve ser replicada.
As sessões podem viver nela? Sim. Com replicação e Sentinel, as sessões sobrevivem à perda de um nó de cache.
Podem cuidar do nosso plugin de object cache do WordPress? Sim. Configuramo-lo e mantemo-lo como parte da stack.
Quer uma cache que faz failover antes de alguém reparar? Fale com um engenheiro.
O seu próximo parceiro de infraestrutura
Vamos analisar a sua infraestrutura.
Diga-nos o que executa hoje e o que precisa de melhorar. Um engenheiro vai analisar o seu pedido e ajudar a planear o passo seguinte.
+357 222 32280
Comecemos pela sua infraestrutura.
Um pouco de contexto ajuda-nos a começar a conversa certa.
