Panoramica della disponibilità elevata e del ripristino di emergenza
- Updated: 2019/05/14
Panoramica della disponibilità elevata e del ripristino di emergenza
La disponibilità elevata (High Availability, HA) fornisce una soluzione di failover in caso di errori del servizio, del server o del database di IQ Bot. Il ripristino di emergenza (Disaster Recovery, DR) fornisce una soluzione di ripristino in punti dislocati in varie aree geografiche nel caso di un'emergenza che determina errori di un intero data center.
Soluzione HA e DR di IQ Bot
Nel contesto di IQ Bot, l'implementazione di disponibilità elevata (HA) e ripristino di emergenza (DR) riduce il tempo di inattività e mantiene la continuità operativa (Continuity of Business, CoB) per le attività dei bot.
- Disponibilità elevata (HA): la disponibilità elevata è una progettazione architettonica che tenta di salvaguardare un sistema da determinati scenari di guasti. Ciò significa che anche se parti di un sistema si guastano, il sistema nel suo insieme è ancora disponibile e utilizzabile. Le soluzioni a disponibilità elevata proteggono in genere da scenari specifici quali: guasti del server, guasti di singoli componenti, guasti a livello di dipendenza, aumenti di carico variabili e reti suddivise, dove componenti dipendenti dal sistema diventano irraggiungibili in una rete.
- Ripristino di emergenza (DR): comprende una serie di criteri e procedure per consentire il ripristino o la continuazione dell'infrastruttura e dei sistemi essenziali in seguito a un disastro naturale o indotto dall'uomo. Il ripristino di emergenza gestisce molte cause diverse di guasti in un sistema in cui la disponibilità elevata rappresenta in genere un numero esiguo e prevedibile. Il ripristino di emergenza si concentra sulla riattivazione dei servizi dopo un incidente e non solo di failover. Il ripristino di un sistema include scenari quali: riavvio di un servizio o di un sistema, ripristino di file di configurazione o database dai backup.
Elementi dell'infrastruttura HA e DR richiesti
- Approccio distribuito: oltre al clustering dei componenti del data center relativi a IQ Bot, consigliamo anche di distribuire IQ Bot su più server separati fisici e/o virtuali.
-
Bilanciamento del carico: eseguito da un bilanciatore di carico, questo è il processo di distribuzione del traffico di applicazioni o di rete su più server per proteggere le attività di servizio e consente la distribuzione dei carichi di lavoro tra più server. Ciò garantisce che l'attività dei bot continui su server di cluster.
-
Database: i database utilizzano il proprio failover integrato per proteggere i dati. Ciò garantisce il recupero dei dati del database.
Tra i cluster HA, configura la replica sincrona tra server Microsoft SQL Server primari (attivi) e secondari (passivi) in cluster nel data center. Ciò garantisce la coerenza in caso di un errore del nodo del database.
Per la replica sincrona HA richiesta, configura una delle opzioni seguenti:
- Replica di backup nella modalità con commit sincrono dei gruppi di disponibilità SQL Server Always On
- Mirroring del database da SQL al server
- Tra i siti DR, configura il database per fornire una replica asincrona dal sito DR primario (produzione) al sito DR secondario (ripristino) che si trova in una posizione geograficamente separata dal sito DR primario.
Scenario di esempio
Punta tutte le istanze di IQ Bot presenti nello stesso cluster agli stessi file di database e archivio. Ciò è necessario per consentire la condivisione dei dati su più server e garantire l'integrità dei dati tra i server di IQ Bot in un cluster.
Modelli di distribuzione HA e DR
Per garantire che IQ Bot sia protetto da HA e/o DR, configura i data center in base ai modelli di implementazione descritti in:
Requisiti di implementazione HA
- Installa IQ Bot su più server.
- Accedi a IQ Bot attraverso un bilanciamento del carico.
- Apri una porta di sincronizzazione di RabbitMQ tra i server di IQ Bot.
- Configura Microsoft SQL Server in modalità disponibilità elevata.
Requisiti di configurazione di un'installazione HA e DR
- Lo strumento di installazione di IQ Bot non supporta direttamente l'installazione cluster. Per impostare un cluster, effettua le seguenti operazioni:
- Esegui lo strumento di installazione su ciascun nodo del server applicazioni.
- Condividi la
cartella di output
utilizzando il ruolo di accessoTutti
. - Dopo l'installazione, esegui
messagequeue_cluster_configuration.bat
con argomenti della riga di comando appropriati.
- Configura IQ Bot in una configurazione a disponibilità elevata.
- Apri le porte firewall: 4369 e 25672.
- Installa RabbitMQ su ogni nodo di IQ Bot nel cluster.
Il primo nodo su cui IQ Bot è stato installato diventa il nodo di RabbitMQ primario. Il nome host del nodo primario viene utilizzato per configurare il cluster di RabbitMQ.
- Il bilanciamento del carico è necessario per distribuire il traffico a tutti i nodi del server di IQ Bot.
- Configura Microsoft SQL Server per la disponibilità elevata. Utilizza l'opzione Microsoft SQL Server Always On.
- Per un'installazione specifica di RabbitMQ, vedi la documentazione di RabbitMQ.
Limitazioni note di HA e DR
- Per scoprire la disponibilità di istanze di IQ Bot, un bilanciamento del carico invia periodicamente ping, tenta connessioni o invia richieste per testare le istanze di IQ Bot. Questi test sono chiamati controlli di integrità.
- I controlli di integrità non verificano la disponibilità delle istanze di RabbitMQ.