Impostazione del bilanciamento del carico 'XR' (Crossroads) per i server Web su RHEL / CentOS


Crossroads è un servizio indipendente, bilanciamento del carico open source e utility di failover 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 che porta ad aumentare le prestazioni quando si bilancia il carico.

Diamo un'occhiata a come funziona XR. Possiamo individuare XR tra i client di rete e un gruppo di server che invia richieste client ai server che bilanciano il carico.

Se un server non funziona, XR inoltra la richiesta successiva al successivo server in linea, quindi il client non ha tempi morti. Dai uno sguardo al diagramma sottostante per capire che tipo di situazione gestiremo con XR.

Esistono due server Web, un server gateway che installiamo e configuriamo XR per ricevere richieste 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 (cioè XR Crossroads) reca 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 ricevute dal gateway XR da Internet e distribuirle tra due server Web che bilanciano il carico.

Passaggio 1: installare XR Crossroads Load Balancer su Gateway Server

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

Per compilare XR, devi avere i programmi C ++ e Gnu make installati sul sistema per continuare l'installazione senza errori.

# yum install gcc gcc-c++ make

Successivamente, scarica il tarball sorgente andando al 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/), vai alla directory decompressa ed emetti "< comando strong> make 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 configurazione XR in /etc ossia " 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 semplice Python SimpleHTTPServer, leggi il nostro articolo su Crea due server Web usando facilmente SimpleHTTPServer.

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

Passaggio 2: configura il bilanciamento del carico XR Crossroads

3. Tutti i requisiti sono a posto. Ora quello che dobbiamo fare è configurare il file xrctl.xml per distribuire il carico tra i server web che riceve 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 cosa è il server XR, quali sono i server back-end e le loro porte e la porta dell'interfaccia web per l'XR.

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

# xrctl start
# xrctl status

5. Va bene. Ora è il momento di verificare se le configurazioni funzionano correttamente. Aprire due browser Web e inserire l'indirizzo IP del server XR con la porta e vedere l'output.

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

6. Ora è il momento di accedere al 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, facile da usare e facile da usare. Mostra quante connessioni ogni server back-end ha ricevuto nell'angolo in alto a destra insieme ai dettagli aggiuntivi riguardanti le richieste di ricezione. Anche tu puoi impostare il peso del carico ogni server che devi 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 svolgerà il lavoro.

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

Spiegazione della sintassi precedente in dettaglio:

  1. –verbose will show what happens when the command has executed.
  2. –server defines the XR server you have installed the package in.
  3. –backend defines the webservers you need to balance the traffic to.
  4. Tcp defines it uses tcp services.

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

XR Corssroads consente diversi modi per migliorare le prestazioni del server, proteggere i tempi di inattività e rendere più semplici e maneggevoli le attività di amministrazione. Spero vi sia piaciuta la guida e sentitevi liberi di commentare qui sotto per suggerimenti e chiarimenti. Resta in contatto con Tecmint per un pratico How To.