Projetando para disponibilidade
Disponibilidade é a capacidade de um aplicativo tolerar falhas nos recursos do servidor. Isso significa que o cliente continua sendo atendido através da falha e que, idealmente, a falha é transparente para o cliente. Obviamente, a falha pode vir de fontes de hardware ou software, então você deve desenvolver para ambos os casos.
A disponibilidade pode ser afetada pelos seguintes fatores:
- Modelo de aplicação. Para obter a maior disponibilidade, certifique-se de que a lógica crítica do aplicativo seja conduzida usando o serviço de transações COM+. Além disso, o uso de um mecanismo de compensação pode ser eficaz para garantir que os recursos permaneçam em um estado saudável após falhas.
- Modelo de cliente. Integre a lógica de "repetição em caso de falha" no aplicativo cliente e esforce-se para obter uma degradação normal no aplicativo se os recursos ou serviços não estiverem disponíveis. Entenda o que o cliente espera do aplicativo e crie um design que permita alternativas quando ocorrer uma falha.
- Disponibilidade de dados/estados. Para obter acesso consistente a dados persistentes, use o Windows Clustering para fornecer suporte a failover.
- Disponibilidade do serviço. Você pode usar o balanceamento de carga de rede para balancear a carga de solicitações IP de entrada em um cluster de servidores.
Tópicos relacionados