Cache do Azure para Redis e confiabilidade
O Cache do Azure para Redis fornece um armazenamento de dados na memória com base no software Redis (Remote Dictionary Server). Trata-se de um cache de dados e agente de mensagens seguro que fornece alta taxa de transferência e acesso de baixa latência a dados para aplicativos.
Os principais conceitos e práticas recomendadas que suportam confiabilidade incluem:
As seções a seguir incluem considerações sobre design, uma lista de verificação de configuração e opções de configuração recomendadas específicas para o Cache do Azure para Redis.
Considerações sobre o design
O SLA (Contrato de Nível de Serviço) do Cache do Azure para Redis abrange apenas caches de camadas Standard e Premium. A camada Básica não é coberta.
O Redis é um cache na memória para pares chave-valor e possui HA (Alta Disponibilidade) por padrão, exceto na camada Básica. Há três camadas do Cache do Azure para Redis:
Básica: não é recomendada para cargas de trabalho de produção. A camada Básica é ideal para:
- Nó único
- Vários tamanhos
- Desenvolvimento
- Teste
- Cargas de trabalho não críticas
Standard: um cache replicado em uma configuração primária e secundária de dois nós gerenciada pela Microsoft, com um SLA de alta disponibilidade.
Premium: inclui todos os recursos da camada Standard e os adicionais abaixo:
- Hardware e desempenho mais rápidos em comparação com as camadas Básica e Standard.
- Cache maior, até
120GB
. - Persistência de dados, que inclui o RDB (Arquivo de Banco de Dados do Redis) e o AOF (Arquivo Somente de Acréscimo).
- Suporte à VNET.
- Clustering
- Replicação geográfica: um cache secundário está em outra região e replica dados do primário para recuperação de desastres. Para executar failover para o secundário, os caches precisam ser desvinculados manualmente e, em seguida, o secundário estará disponível para gravações. O aplicativo que grava no Redis precisa ser atualizado com a cadeia de conexão de cache do secundário.
- Zonas de Disponibilidade: implantam o cache e as réplicas em zonas de disponibilidade.
Observação
Por padrão, cada implantação terá uma réplica por fragmento. No momento, a persistência, o clustering e a replicação geográfica estão desabilitados com implantações que possuem mais de uma réplica. Seus nós serão distribuídos uniformemente em todas as zonas. Você deve ter uma contagem de réplicas
>=
número de zonas. - Importar e exportar.
A Microsoft garante que, em pelo menos 99.9%
do tempo, os clientes terão conectividade entre os Pontos de Extremidade de Cache e o gateway de Internet da Microsoft.
Lista de verificação
Você configurou o Cache do Azure para Redis com resiliência em mente?
- Agendar atualizações.
- Monitorar o cache e definir alertas.
- Implantar o cache em uma VNET.
- Avaliar uma estratégia de particionamento no cache Redis.
- Configure a Persistência de Dados para salvar uma cópia do cache no Armazenamento do Azure ou use a Replicação Geográfica, dependendo do requisito de negócios.
- Implementar políticas de repetição no contexto do cache Redis do Azure.
- Usar uma implementação estática ou singleton do multiplexador de conexão com o Redis e seguir o guia de práticas recomendadas.
- Ler atentamente Como administrar o Cache do Azure para Redis.
Recomendações de configuração
Confira a tabela de recomendações a seguir para otimizar a configuração do Cache do Azure para Redis visando à confiabilidade de serviço:
Recomendação | Descrição |
---|---|
Agendar atualizações. | Agende os dias e horários em que as atualizações do Servidor Redis serão aplicadas ao cache, o que não inclui atualizações do Azure ou atualizações do sistema operacional da VM. |
Monitorar o cache e definir alertas. | Defina alertas para exceções, alta utilização de CPU, alto uso de memória, carga do servidor e chaves removidas para obter insights sobre quando escalar o cache. Se o cache precisar ser escalado, é importante entender quando fazê-lo, pois a CPU será aumentada durante o evento de dimensionamento para migrar dados. |
Implantar o cache em uma VNET. | Dá ao cliente mais controle sobre o tráfego que pode ser conectado ao cache. Verifique se a sub-rede possui espaço de endereço suficiente disponível para implantar os nós de cache e fragmentos (cluster). |
Avaliar uma estratégia de particionamento no cache Redis. | O particionamento de um repositório de dados do Redis envolve a divisão dos dados entre instâncias do servidor Redis. Cada instância forma uma única partição. O Cache Redis do Azure abstrai os serviços do Redis por trás de uma fachada e não os expõe diretamente. A maneira mais simples de implementar o particionamento é criar várias instâncias do Cache Redis do Azure e distribuir os dados entre eles. Você pode associar cada item de dados a um identificador (uma chave de partição) que especifica qual cache armazena o item de dados. A lógica do aplicativo cliente pode usar esse identificador para rotear solicitações para a partição adequada. Esse esquema é simples, mas se o esquema de particionamento for alterado (por exemplo, se instâncias adicionais do Cache Redis do Azure forem criadas), os aplicativos cliente precisarão ser reconfigurados. |
Configure a Persistência de Dados para salvar uma cópia do cache no Armazenamento do Azure ou use a Replicação Geográfica, dependendo do requisito de negócios. | Persistência de dados: se o mestre e a réplica forem reinicializados, os dados serão carregados automaticamente da conta de armazenamento. Replicação geográfica: o cache secundário precisa ser desvinculado do primário. O secundário agora se tornará o primário e poderá receber gravações. |
Implementar políticas de repetição no contexto do cache Redis do Azure. | A maioria dos serviços do Azure e SDKs do cliente inclui um mecanismo de repetição. Esses mecanismos diferem porque cada serviço tem características e requisitos diferentes. Cada mecanismo de nova tentativa é ajustado para um serviço específico. |
Ler atentamente Como administrar o Cache do Azure para Redis. | Entenda como a perda de dados pode ocorrer com as reinicializações de cache e como testar a resiliência do aplicativo. |
Artefatos de origem
Para identificar as instâncias do Redis que não estão na camada Premium, use a consulta abaixo:
Resources
| where type == 'microsoft.cache/redis'
| where properties.sku.name != 'Premium'