Como parte da versão 7.1 do Couchbase Server, Serviço de análise do Couchbase tem o prazer de anunciar o apoio da Alta disponibilidade disponibilidade de recursos para garantir que os usuários possam acessar dados nas coleções/conjuntos de dados do Analytics Service quando um ou mais nós do Analytics não estiverem disponíveis.
Ponto problemático do cliente
O principal desafio que os usuários encontravam quando um ou mais nós do Analytics sofriam falha ou ficavam inativos para manutenção programada, patches de segurança e/ou atualizações de nós, os dados residentes nos nós do Analytics Service não ficavam totalmente disponíveis para consulta ou geração de relatórios, o que levava os usuários corporativos a não conseguirem cumprir os contratos de nível de serviço (SLAs). Além disso, quando o nó com falha voltasse a ficar on-line, ele teria que reconstruir as coleções/conjuntos de dados novamente a partir dos Data Services subjacentes, incluindo os índices. Isso resultaria em ineficiências operacionais e afetaria o tempo de obtenção de insights.
Como funciona a alta disponibilidade?
Cada nó que executa o Analytics Service tem uma ou mais partições de dados. Os dados ingeridos pelo Analytics Service são particionados por hash em todas as partições de dados. Quando os dados são ingeridos em cada partição, eles são inicialmente armazenados em uma árvore b na memória. Quando um determinado limite de memória é atingido, a árvore b é mantida em disco e é programada para ser replicada de forma assíncrona para um ou mais nós do Analytics (com base no número de réplicas configuradas). Quando ocorre uma falha em um nó que executa o Serviço de análise, uma de suas réplicas é promovida para atender às partições que foram atendidas pelo nó com falha. Isso permitirá que o serviço do Analytics continue funcionando após o failover. A parte dos dados que precisará ser reingressada do Data Service será determinada pelo estado da réplica no momento da promoção, da seguinte forma:
Estado da réplica | Dados para reingestão |
Todos os componentes do LSM foram replicados e o nó com falha não tinha dados na memória. | Nenhum |
Todos os componentes do LSM foram replicados e o nó com falha tinha dados na memória. | Somente os dados na memória (semelhante à reinicialização de um nó) |
Alguns componentes do LSM não foram replicados | Iniciar a partir do último componente LSM replicado |
O serviço Analytics continuará a funcionar em um estado desequilibrado até que uma das ações a seguir seja executada:
-
- Recuperação do nó: O nó com falha será ressincronizado a partir da réplica promovida e voltará a ser o mestre para suas partições de armazenamento.
- Remoção de nós: Se o nó com falha for removido, o Analytics redistribuirá os dados entre os nós restantes do cluster.
Para que o HA funcione, insira pelo menos uma ou mais réplicas a serem criadas.
Isso pode ser configurado no workbench do servidor em Settings (veja a imagem instantânea abaixo). Essa configuração também pode ser obtida chamando esta API. É necessário executar um Rebalanceamento para que a alteração tenha efeito. Veja esse novo recurso em ação em o seguinte vídeo:
Benefícios comerciais da alta disponibilidade
Agora que sabemos como o recurso de alta disponibilidade funciona nos serviços do Analytics, aqui estão os principais benefícios:
-
- Dados sempre disponíveis e sempre ativos em tempo real com maior confiabilidade
- Interrupção mínima no tempo para insights quando um ou mais nós com falha estão sendo recuperados, reconstruídos e reequilibrados
- Nenhum impacto no tempo de obtenção de insights para relatórios e consultas analíticas, melhorando a experiência do cliente
Resumo
Espero que você esteja animado com essa solicitação de recurso tão desejada para que o Couchbase Analytics esteja altamente disponível usando réplicas de análise. Agora, seus dados analíticos estarão sempre ativos e disponíveis para consultar e analisar continuamente seus dados quase em tempo real, sem interrupções.
Abaixo está uma lista de recursos para você começar e aguardamos seu feedback sobre Fóruns do Couchbase.