Visão geral de alta disponibilidade e recuperação de desastres
- Última atualização2023/11/22
Visão geral de alta disponibilidade e recuperação de desastres
A alta disponibilidade (HA) fornece um mecanismo de failover se um serviço IQ Bot ou servidor falha. A recuperação de desastres (DR) permite a recuperação através de uma distância geograficamente separada se um desastre causar a falha de todo um centro de dados.
O IQ Bot utiliza um mínimo de 3 nós e um máximo de 5 nós em um cluster para alta disponibilidade (HA).
Solução HA e DR do 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 banco de dados 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 instâncias do Microsoft SQL Server primárias (ativas) e secundárias (passivas) em cluster no banco de dados. 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 Modo comprometido sincronizado do SQL servidos sempre ligado
- SQL para 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.
- Entre os clusters de HA, configure a replicação síncrona entre os servidores de instâncias do Microsoft SQL Server primárias (ativas) e secundárias (passivas) em cluster no banco de dados. Isso garante consistência no caso de falha de nó de banco de dados.
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 bancos de dados 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 v3.8.18 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
output folder
usando a função de acessoEveryone
. - 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.
- Abrir portas do firewall: 4369 e 25672.
- Instalar RabbitMQ v3.8.18 em cada nó IQ Bot no cluster.
O nó RabbitMQ v3.8.18 primário é o nó onde IQ Bot foi instalado primeiro. O nome do host do nó primário é usado para configurar o cluster RabbitMQ v3.8.18.
- 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 Sempre ligado.
- Para instalação específica RabbitMQ v3.8.18, consulte sua documentação RabbitMQ v3.8.18.
Limitações conhecidas de HA e DR
- Para descobrir a disponibilidade de instâncias IQ Bot, um balanceador de carga envia pings, tenta conexões ou envia solicitações periodicamente para testar as instâncias do 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 v3.8.18.