Ricerca nel sito web

Configurazione del bilanciatore del carico "XR" (Crossroads) per server Web su RHEL/CentOS


Crossroads è un'utilità di bilanciamento del carico e failover open source, indipendente dai servizi, per servizi basati su Linux e TCP. Può essere utilizzato per HTTP, HTTPS, SSH, SMTP e DNS ecc. È anche un'utilità multi-thread che consuma solo uno spazio di memoria, il che porta ad aumentare le prestazioni durante il bilanciamento del carico.

Diamo un’occhiata a come funziona XR. Possiamo individuare XR tra i client di rete e un nido di server che invia le richieste dei client ai server bilanciando il carico.

Se un server è inattivo, XR inoltra la richiesta successiva del client al server successivo in linea, quindi il client non avverte tempi di inattività. Dai un'occhiata al diagramma seguente per capire che tipo di situazione gestiremo con XR.

Esistono due server Web, un server gateway che installiamo e configuriamo XR per ricevere le richieste dei client e distribuirle tra i server.

XR Crossroads Gateway Server : 172.16.1.204
Web Server 01 : 172.16.1.222
Web Server 02 : 192.168.1.161

Nello scenario sopra, il mio server gateway (ad esempio XR Crossroads) ha l'indirizzo IP 172.16.1.222, webserver01 è 172.16.1.222 e ascolta attraverso la porta 8888 e webserver02 è 192.168.1.161 e ascolta attraverso la porta 5555.

Ora tutto ciò di cui ho bisogno è bilanciare il carico di tutte le richieste che riceve il gateway XR da Internet e distribuirle tra due server web bilanciando il carico.

Passaggio 1: installare il bilanciatore del carico XR Crossroads sul server gateway

1. Sfortunatamente, non sono disponibili pacchetti RPM binari per crosscroads, l'unico modo per installare XR crossroads dal tarball sorgente.

Per compilare XR, è necessario che sul sistema siano installati il compilatore C++ e le utilità Gnu make per poter continuare l'installazione senza errori.

yum install gcc gcc-c++ make

Successivamente, scarica il tarball sorgente andando sul loro sito ufficiale (https://crossroads.e-tunity.com) e prendi il pacchetto archiviato (ad esempio crossroads-stable.tar.gz).

In alternativa, puoi utilizzare la seguente utility wget per scaricare il pacchetto ed estrarlo in qualsiasi posizione (ad esempio: /usr/src/), andare nella directory decompressa e digitare "< comandomake install ".

wget https://crossroads.e-tunity.com/downloads/crossroads-stable.tar.gz
tar -xvf crossroads-stable.tar.gz
cd crossroads-2.74/
make install

Al termine dell'installazione, i file binari vengono creati in /usr/sbin/ e la configurazione XR in /etc, ovvero "xrctl.xml".

2. Come ultimo prerequisito, sono necessari due server web. Per facilità d'uso, ho creato due istanze SimpleHTTPServer Python in un server.

Per vedere come configurare un SimpleHTTPServer Python, leggi il nostro articolo su Creare due server Web facilmente utilizzando SimpleHTTPServer.

Come ho detto, stiamo utilizzando due server web e sono webserver01 in esecuzione su 172.16.1.222 attraverso la porta 8888 e webserver02 in esecuzione su 192.168.1.161 tramite la porta 5555.

Passaggio 2: configura il bilanciatore del carico di XR Crossroads

3. Tutti i requisiti sono presenti. Ora quello che dobbiamo fare è configurare il file xrctl.xml per distribuire il carico tra i server web che ricevono dal server XR da Internet.

Ora apri il file xrctl.xml con l'editor vi/vim.

vim /etc/xrctl.xml

e apportare le modifiche come suggerito di seguito.

<?xml version=<94>1.0<94> encoding=<94>UTF-8<94>?>
<configuration>
<system>
<uselogger>true</uselogger>
<logdir>/tmp</logdir>
</system>
<service>
<name>Tecmint</name>
<server>
<address>172.16.1.204:8080</address>
<type>tcp</type>
<webinterface>0:8010</webinterface>
<verbose>yes</verbose>
<clientreadtimeout>0</clientreadtimeout>
<clientwritetimout>0</clientwritetimeout>
<backendreadtimeout>0</backendreadtimeout>
<backendwritetimeout>0</backendwritetimeout>
</server>
<backend>
<address>172.16.1.222:8888</address>
</backend>
<backend>
<address>192.168.1.161:5555</address>
</backend>
</service>
</configuration>

Qui puoi vedere una configurazione XR molto semplice eseguita in xrctl.xml. Ho definito cos'è il server XR, quali sono i server back-end e le relative porte e la porta dell'interfaccia web per XR.

4. Ora devi avviare il demone XR emettendo i comandi seguenti.

xrctl start
xrctl status

5. Va bene, fantastico. Ora è il momento di verificare se le configurazioni funzionano correttamente. Apri due browser Web e inserisci l'indirizzo IP del server XR con porta e guarda l'output.

Fantastico. Funziona bene. ora è il momento di giocare con XR.

6. Ora è il momento di accedere alla dashboard di XR Crossroads e vedere la porta che abbiamo configurato per l'interfaccia web. Inserisci l'indirizzo IP del tuo server XR con il numero di porta per l'interfaccia web che hai configurato in xrctl.xml.

http://172.16.1.204:8010

Questo è quello che sembra. È facile da capire, intuitivo e facile da usare. Mostra quante connessioni ha ricevuto ciascun server back-end nell'angolo in alto a destra insieme ai dettagli aggiuntivi relativi alle richieste ricevute. Anche tu puoi impostare il peso del carico che ciascun server deve sopportare, il numero massimo di connessioni e il carico medio, ecc.

La parte migliore è che puoi farlo anche senza configurare xrctl.xml. L'unica cosa che devi fare è impartire il comando con la seguente sintassi e farà il lavoro svolto.

xr --verbose --server tcp:172.16.1.204:8080 --backend 172.16.1.222:8888 --backend 192.168.1.161:5555

Spiegazione della sintassi sopra in dettaglio:

  1. –verbose mostrerà cosa succede una volta eseguito il comando.
  2. –server definisce il server XR su cui hai installato il pacchetto.
  3. –backend definisce i server web verso i quali devi bilanciare il traffico.
  4. Tcp definisce che utilizza i servizi TCP.

Per maggiori dettagli sulla documentazione e sulla configurazione di CROSSROADS, visitare il sito ufficiale all'indirizzo: https://crossroads.e-tunity.com/.

XR Corssroads consente molti modi per migliorare le prestazioni del tuo server, proteggere i tempi di inattività e rendere le tue attività di amministrazione più facili e maneggevoli. Spero che la guida ti sia piaciuta e sentiti libero di commentare qui sotto per suggerimenti e chiarimenti. Resta in contatto con Tecmint per utili istruzioni.

Leggi anche: Installazione del bilanciatore di carico Pound per controllare il carico del server Web