Come creare servizi di lavagna altamente disponibili e scalabili

PUBBLICATO DA Zevenet | 24 settembre, 2019

Che cos'è la lavagna?

Blackboard è un'applicazione del settore dell'istruzione sviluppata da una società con lo stesso nome, il cui obiettivo è quello di servire contenuti educativi elaborati da insegnanti e facilmente accessibili per gli studenti.

Questa applicazione contiene strumenti importanti per gli studenti come strumenti di esame, videoconferenze con gli insegnanti o lezioni del corso. Poiché questo tipo di applicazioni prevede un numero elevato di utenti simultanei, i problemi dovuti al sovraccarico del server delle applicazioni potrebbero dover affrontare tutti i giorni.

Per mitigarlo, si consiglia vivamente di distribuire l'applicazione web utilizzando un modello di alta disponibilità per garantire che gli studenti possano accedere contemporaneamente alle risorse educative senza avere problemi di connettività e servire l'applicazione sempre con la massima disponibilità.

Lavagna ad alta disponibilità dell'ambiente

L'ambiente della lavagna contiene due tipi di server:

Server delle applicazioni che gestiscono la logica dell'applicazione e i profili utente.
Server collaborativi che vengono utilizzati da alcuni strumenti come punto di incontro tra utenti o funzionalità di chat. In realtà, questo è un server delle applicazioni con alcune configurazioni speciali.

L'ambiente di destinazione scalabile e altamente disponibile di una distribuzione di lavagna è mostrato nel disegno seguente.

Per raggiungerlo, si consiglia di installarne uno HTTP farm per server di applicazioni in modalità active-active in cui un pool di server viene aggiunto su richiesta.

D'altra parte, raccomandiamo a L4xNAT farm per server collaborativi che utilizzano tutte le porte e tutti i protocolli, poiché possono utilizzare il traffico TCP e UDP per i servizi interattivi e di collaborazione. Secondo Blackboard, questi servizi possono essere configurati solo in modalità attivo-passivo, quindi ne terremo conto durante la configurazione del servizio virtuale.

Nel nostro esempio, il servizio dell'applicazione Blackboard viene pubblicato sull'IP 10.0.1.2 che si risolve per il dominio blackboard.domain.org nel DNS e utilizzando le porte TCP 443 e 80 (reindirizzamento alla porta 443).

I servizi di collaborazione sono accessibili tramite l'IP 10.0.1.3 che si risolve con il dominio collab.blackboard.domain.org da tutte le porte e i protocolli.

Tutte le applicazioni e i server collaborativi si trovano nello stesso segmento di rete 10.0.7.0 / 24.

Configurazione del bilanciamento del carico della lavagna

Requisiti

Innanzitutto, preparare l'applicazione da configurare in alta disponibilità e alcuni programmi di utilità del bilanciamento del carico.

Configurazione della lavagna per alta disponibilità

La configurazione dell'applicazione e dei server Blackboard collaborativi per l'alta disponibilità sono spiegati con i dettagli nel seguente articolo:

https://help.blackboard.com/es-es/Learn/Administrator/Hosting/Performance_Optimization/Load_Balancing

Seguire le istruzioni del DNS e altre configurazioni necessarie per assicurarsi che la distribuzione della lavagna sia pronta per l'HA.

Configurazione della rete del servizio virtuale della lavagna

I servizi virtuali saranno pubblicati in due diverse interfacce virtuali sotto la stessa NIC fisica, tali interfacce saranno condivise tra il cluster di Load Balancer Zevenet. In caso di throughput elevato e al fine di ridurre la latenza, i servizi virtuali potrebbero utilizzare diverse NIC fisiche.

Le interfacce virtuali vengono create in un'interfaccia di rete fisica esistente, quindi è necessario disporre di un'interfaccia NIC, bonding o VLAN nella stessa rete dell'indirizzo IP dell'interfaccia virtuale. In questo caso, viene creata un'interfaccia NIC, facendo clic sul menu a sinistra Rete> NIC e modificando una delle schede NIC dell'elenco.

In questo esempio, i servizi saranno pubblicati in due interfacce, una chiamata eth1: lavagna usando l'IP 10.0.1.2 e un altro ha chiamato eth1: collab e usando l'IP 10.0.1.3.

Per creare un'interfaccia virtuale, fare clic sull'opzione della barra dei menu a sinistra Rete> Interfacce virtuali> Crea e compila il modulo come mostrato di seguito.

Allo stesso modo, creare l'interfaccia virtuale per il servizio virtuale collaborativo.

Monitoraggio dello stato di salute della lavagna

Blackboard fornisce già una pagina Web dedicata alla richiesta dello stato di integrità del server delle applicazioni, pertanto si consiglia di utilizzarlo nei controlli di integrità avanzati configurati nel bilanciamento del carico. Il seguente controllo FarmGuardian personalizzato verrà utilizzato per conoscere lo stato dell'applicazione Blackboard.

Facendo clic sull'opzione della barra dei menu a sinistra Monitoraggio> Farmguardians, premi su Crea Farmguardian e scegliere l'opzione Copia da "check_http", come mostrato di seguito.

I nuovi parametri di controllo dello stato per i server delle applicazioni della lavagna sono:

Nome: check_blackboard
Intervallo: 61 seg
Comando: check_http -I HOST -p PORT -e 200 -t 20 -u "http://blackboard.domain.org/webapps/portal/healthCheck"

Questo controllo Farmguardian è regolato per i backend 4 o meno, se ci sono più dei backend 4 nel pool di server delle applicazioni impostare il parametro intervallo in base all'equazione Intervallo = * 20 + 1.

Ora che abbiamo configurato l'impostazione richiesta, andiamo a configurare i servizi virtuali per ogni servizio necessario in Blackboard HA.

Configurazione del servizio virtuale Blackboard Application Server

Verranno configurati due diversi servizi virtuali HTTP, uno per HTTPS sicuro e un altro con un reindirizzamento da HTTP a HTTPS. Vediamo come ottenerlo.

Servizio virtuale HTTPS di Application Server

Creare una nuova farm di profili HTTP LSLB facendo clic sull'opzione della barra dei menu a sinistra LSLB> Fattorie e poi il pulsante Crea fattoria.

I seguenti parametri verranno modificati per ottenere le migliori prestazioni:

Ascoltatore:
HTTPS
Certificati abilitati. Qui, si consiglia di scegliere un certificato firmato precedentemente caricato dall'opzione della barra dei menu a sinistra LSLB> Certificati SSL, Fare clic sul Carica certificato pulsante.

L'applicazione Blackboard richiede solo un servizio nel servizio virtuale HTTPS. Crealo facendo clic su Servizi scheda e poi il Nuovo servizio pulsante. I parametri da configurare nei servizi sono:

Backend HTTPS: abilitato
Inserimento cookie: abilitato
Nome del cookie: ZENSESSIONID
Cookie TTL: 10860, (3h, 1min)
Percorso dei cookie: /
Farmguardian: check_blackboard (precedentemente creato)

Una volta modificato, è necessario premere il tasto Invio pulsante.

Infine, aggiungi i server delle applicazioni nella sezione back-end facendo clic su Aggiungi backend. Per ogni backend è necessario configurare il Indirizzo IP della scuola e il Porto. Quando vengono aggiunti tutti i backend, premere la farm nuovo inizio pulsante.

Servizio di reindirizzamento da HTTP a HTTPS di Application Server

L'obiettivo di questa farm HTTP è di reindirizzare le richieste HTTP alla farm HTTP precedentemente creata con il nome lavagna applicazione per forzare tutti i client a passare il servizio crittografato. Nel nostro esempio, crea una nuova farm LSLB chiamata lavagna-reindirizzamento-ssl e impostare i parametri seguenti per questa farm:

Nome: lavagna-reindirizzamento-ssl
Profilo: HTTP
IP virtuale: 10.0.1.2 (è lo stesso del servizio nella porta 443)
Porta virtuale: 80

Una volta creata la fattoria, fare clic sulla scheda Servizi e il pulsante Nuovo servizio. Seleziona un servizio Nome, reindirizzare in questo esempio e modificarlo con i seguenti parametri:

Reindirizzare: abilitato
URL di reindirizzamento: https://blackboard.domain.org (questo è il nome del nameserver del servizio utilizzato nel DNS)
Tipo di reindirizzamento: Predefinito
Codice di reindirizzamento: 301

Alla fine, premi su Invio e riavviare la farm per applicare le modifiche.

Configurazione del servizio virtuale dei server collaborativi della lavagna

Come spiegato all'inizio dell'articolo, i server collaborativi non possono essere bilanciati in base al carico in base alla lavagna, ma possono essere configurati in alta disponibilità.

Il primo passo è impostare il servizio virtuale creando una nuova farm L4xNAT attraverso la sezione LSLB> Fattorie> Crea fattoria. Si consiglia di configurare questo servizio virtuale con tutte le porte, impostate da *e attraverso TUTTO protocolli che Blackboard consiglia di abilitare TCP per i servizi e alcuni UDP porti al fine di migliorare le prestazioni del traffico interattivo.

Non è richiesto alcun algoritmo speciale o persistenza, poiché questo servizio sarà configurato in modalità attivo-passivo, ma aggiungeremo i backend Gli indirizzi IP (senza Porto) con diversi Priorità per generare il failover automatico quando il server di collaborazione attivo viene rilevato come inattivo. Più di 2 backend potrebbero essere configurati senza alcun problema.

Infine, si consiglia di configurare un controllo di integrità per questo servizio. Poiché nessuna porta specifica viene utilizzata nel servizio virtuale e nei backend, utilizzeremo un semplice file check_ping per sapere se il server di collaborazione è raggiungibile e risponde correttamente a un pacchetto ICMP.

Riepilogo dei servizi virtuali della lavagna

Ecco il riepilogo del servizio virtuale che abbiamo creato per migliorare la disponibilità di Blackboard.

Cluster di bilanciamento del carico della lavagna

Per evitare un unico punto di errore univoco, è necessario un cluster di bilanciamento del carico. Questa pratica consente di configurare l'intero ambiente in diversi data center o nodi fisici.

Per ulteriori informazioni sul cluster, consultare https://www.zevenet.com/knowledge-base/howtos/configure-zevenet-cluster/

Blackboard Virtual Services Enhanced Security

Zevenet Load Balancer include un sistema di prevenzione e rilevamento delle intrusioni che include liste nere, protezione DDoS, elenchi blackhole DNS in tempo reale e firewall delle applicazioni Web. Raccomandiamo di sfruttare questi sistemi di sicurezza per l'implementazione di HA sulla lavagna.

Condividere su:

Documentazione sotto i termini della GNU Free Documentation License.

questo articolo è stato utile?

Articoli Correlati