NCache é um cache distribuído na memória extremamente rápido e escalável para .NET/.Net Core formulários. Na maioria das vezes, NCache é usado em ambientes de produção para aplicativos de missão crítica que geralmente também são interativos com o cliente. Em tais aplicações, alta disponibilidade e 100% de tempo de atividade são requisitos extremamente vitais que NCache precisa atender. E NCache atende a esses requisitos de forma muito eficaz e através de muitos recursos.
Entre esses recursos está o Live Upgrade que permite atualizar NCache para uma versão mais recente sem induzir qualquer tempo de inatividade do aplicativo.
O atraso proeminente da atualização manual dos servidores é significativamente reduzido por meio do recurso Live Upgrade. NCache permite atualizar todos os servidores de um cluster de cache com atraso mínimo. NCache, por design, exige que todos os servidores executem a mesma versão do NCache. Isso é feito para evitar problemas de incompatibilidade de versão.
Para manter a versão do cluster atualizada, NCache oferece topologia de ponte para replicação de WAN que atua como uma ponte entre dois clusters de cache. Desta forma, você pode replicar incrementalmente os dados do seu cache atualmente em execução para o mais recente NCache cache usando essa ponte no meio enquanto os caches continuam em execução.
Siga as etapas fornecidas aqui para atualizar os caches do cluster por meio do Live Upgrade.
Em seu cluster, se você tiver 2 ou mais servidores de cache, retire um subconjunto deles para atualizar o NCache software de servidor nesses servidores.
Ao remover um subconjunto, é melhor ter um total de 4 ou mais servidores de cache para que pelo menos 2 servidores sejam deixados no cluster de origem. Mas, caso seu cluster não seja composto por 4 ou mais servidores, tudo bem também. No entanto, nesse caso, seu aplicativo pode enfrentar um tempo de inatividade se o único servidor que auxilia seu aplicativo ficar inativo.
Depois de ter atualizado NCache em 2 ou mais servidores de cache, crie um cluster de todos eles e inicie o cache nesses servidores. Você deve ter pelo menos 2 servidores em cada subcluster para garantir alta disponibilidade - se houver apenas um servidor e ele ficar inativo, poderá ocorrer tempo de inatividade.
Depois de criar com êxito um cluster composto por todos os servidores de cache executando uma versão mais recente do NCache, crie uma ponte entre o novo cluster (comumente conhecido como alvo) e o cluster de versão mais antiga (fonte).
Para criar esta ponte, você pode usar dois servidores dedicados com a versão mais antiga do NCache ou execute a topologia de ponte em dois dos servidores com uma versão mais antiga do NCache. Use a configuração ativa-passiva da topologia de ponte e aguarde até que o cluster de destino esteja completamente sincronizado com o cluster de origem.
No nó de ponte, você precisa adicionar IPs do cache de destino para preencher os servidores de ponte. Você pode fazer isso através do bridge.ncconf da seguinte forma:
<configuration>
<bridge-config … >
<cache … servers-list="20.200.20.38, 20.200.20.29" … />
</bridge-config>
</configuration>
Depois que os dois clusters estiverem totalmente sincronizados, você precisará pegar um subconjunto dos clientes e migrar tudo para o cluster de cache da nova versão. Depois de migrados, você precisa interromper imediatamente todos os clientes conectados às versões antigas. Essa migração do cliente de cache por meio da ponte ativa-passiva garante que não haja perda de dados e nenhuma interrupção nas operações do aplicativo cliente.
Depois que as conexões do cliente forem transferidas com êxito para o cluster de destino, o cluster de origem precisará ser interrompido e atualizado. Após a atualização NCache software em todos os seus servidores, adicione esses servidores ao cluster de cache da versão mais recente.
Essa deve ser sua última etapa no uso do recurso Live Upgrade do NCache para atualizar seu cluster de cache existente.
Agora você precisa migrar os clientes restantes conectados à versão antiga para o cluster de cache da nova versão. Depois que todos os seus clientes tiverem sido migrados com sucesso, você poderá começar a executar seu aplicativo neles.
Caso você não queira atualizar seus clientes de cache, NCache permite que os clientes da versão mais antiga trabalhem perfeitamente com o cluster de cache da versão mais recente. Então, cabe a você se você deseja atualizar seus clientes ou manter a versão mais antiga NCache clientes em seus servidores de aplicativos ou servidores web (NCache remote clients). Seu aplicativo funcionará perfeitamente mesmo que todos os seus servidores de cache tenham sido atualizados para a versão mais recente. Tudo isso é possível porque NCache fornece compatibilidade com versões anteriores para clientes.
Recomenda-se atualizar NCache software cliente em seu aplicativo e servidores web porque o cliente mais recente pode vir com algumas correções de bugs essenciais. Este processo é extremamente fácil e contínuo. Isso ocorre porque a versão mais recente do cliente é compatível com versões anteriores. Essa compatibilidade permite que seu aplicativo funcione com o cliente mais recente sem perceber qualquer alteração. A melhor parte de usar Live Upgrades em seu aplicativo é que ele não requer nenhuma alteração de código ou recompilação. Você só precisa atualizar a versão do NCache software cliente e o resto é feito para você automaticamente.
Para obter instruções detalhadas passo a passo sobre como usar o recurso Live Upgrade para atualizar seu NCache cluster, siga nossa documentação em Atualização ao vivo NCache Versão.