Visão geral de alta disponibilidade e recuperação de desastres
- Atualizado: 2020/05/11
Visão geral de alta disponibilidade e recuperação de desastres
A alta disponibilidade (HA) fornece uma solução de failover no caso de IQ Bot falha de serviço, servidor ou banco de dados. A recuperação de desastres (DR) fornece uma solução de recuperação em uma distância geograficamente separada no caso de um desastre que faz com que um data center inteiro falhe.
Solução HA e DR IQ Bot
No contexto de IQ Bot, a implementação de alta disponibilidade (HA) e recuperação de desastres (DR) reduz o tempo de inatividade e mantém a continuidade do negócio (CoB) para as suas atividades bot.
- Alta disponibilidade (HA)—Alta disponibilidade é um projeto de sistema arquitetônico que tenta proteger um sistema contra certos cenários de falha. Isso significa que, mesmo que as partes de um sistema falhem, como um todo ele ainda estará disponível e utilizável. As soluções de alta disponibilidade normalmente protegem contra cenários específicos, tais como: falhas de servidor, falhas de componente único, falhas de dependência, aumentos variáveis de carga e divisões de redes onde dependem dos componentes do sistema que se tornam inacessíveis em uma rede.
- Recuperação de desastres (DR)—A recuperação de desastres envolve um conjunto de políticas e procedimentos para permitir a recuperação ou continuação de infraestrutura e sistemas vitais após um desastre natural ou induzido por pessoas. A recuperação de desastres aborda muitas causas diferentes de falhas em um sistema em que a alta disponibilidade normalmente é responsável por algumas falhas previsíveis. A recuperação de desastres tem o foco no restabelecimento dos serviços após um incidente, não apenas failover. A recuperação de um sistema inclui cenários como: reiniciar um serviço ou sistema, restaurar arquivos de configuração ou um banco de dados de backups.
Elementos de infraestrutura HA e DR necessários
- Abordagem distribuída—Além dos componentes de data center relacionados aos clusters IQ Bot, também recomendamos que você implemente IQ Bot em vários servidores virtuais e/ou físicos.
-
Balanceamento de carga—Realizado por um balanceador de carga, este é o processo de distribuição de aplicativos ou tráfego de rede em vários servidores para proteger as atividades de serviço e permitir que cargas de trabalho sejam distribuídas entre vários servidores. Isso garante que a atividade bot continue em servidores agrupados.
-
Bancos de dados—Os bancos de dados usam seu próprio failover integrado para proteger os dados. Isso garante recuperação de dados do banco de dados.
Entre os clusters de HA, configure a replicação síncrona entre os servidores de MS SQL primário (ativo) e secundário (passivo) em cluster no data center. Isso garante consistência no caso de falha de nó de banco de dados.
Para a replicação sincronizada de alta disponibilidade necessária, configure um dos seguintes:
- Réplica de backup para grupos de disponibilidade no Synchronous-Commit mode of SQL Server Always On (Modo comprometido sincronizado do SQL Server Always On)
- SQL para Server Database Mirroring (espelhamento do banco de dados do servidor)
- Entre os locais de recuperação de desastres (DR), configure seu banco de dados para fornecer replicação assíncrona do local de DR primário (produção) para o local de DR secundário (recuperação) que está em um local geograficamente separado do local de DR primário.
Exemplo de cenário
Aponte todas as instâncias IQ Bot dentro do mesmo cluster para os mesmos arquivos de banco de dados e repositórios. Isso é necessário para permitir o compartilhamento de dados em vários servidores e garantir que a integridade dos dados seja mantida em servidores IQ Bots em um cluster.
Modelos de implantação de HA e DR
Para garantir que seu IQ Bot está protegido por HA e/ou DR, configure seus data centers de acordo com os modelos de implantação descritos em:
Requisitos de implementação HA
- Instalar IQ Bot em vários servidores.
- O acesso a IQ Bot é através de um balanceador de carga.
- Abrir uma porta de sincronização RabbitMQ entre servidores IQ Bot.
- Configurar o Microsoft SQL Server no modo de alta disponibilidade.
Requisitos de configuração de HA e DR de instalação
- O instalador IQ Bot não suporta diretamente a instalação do cluster. Para configurar um cluster:
- Execute o instalador em cada nó do servidor de aplicativos.
- Compartilhe a
pasta de saída
usando a função de acessoEveryone (Todos)
. - Após a instalação, execute
messagequeue_cluster_configuration.bat
com argumentos de linha de comando apropriados.
- Configurar IQ Bot em uma configuração de alta disponibilidade.
- Abra as portas de firewall: 4369 e 25672.
- Instalar RabbitMQ em cada nó IQ Bot no cluster.
O nó RabbitMQ primário é o nó onde IQ Bot foi instalado primeiro. O nome do host do nó primário é usado para configurar o cluster RabbitMQ.
- O balanceador de carga é necessário para distribuir um tráfego para todos os nós de servidor IQ Bot.
- Configurar Microsoft SQL Server para alta disponibilidade. Use a opção Microsoft SQL Server Always On (Sempre ligado).
- Para instalação específica RabbitMQ, consulte sua documentação RabbitMQ.
Limitações conhecidas de HA e DR
- Para descobrir a disponibilidade de instâncias IQ Bot, um balanceador de carga envia periodicamente pings, tenta conexões ou envia solicitações para testar as instâncias IQ Bot. Esses testes são chamados de verificações de integridade.
- Verificações de integridade não verificam a disponibilidade de instâncias RabbitMQ.