Vyhledávání na webu

Nastavení nástroje pro vyrovnávání zatížení 'XR' (Crossroads) pro webové servery na RHEL/CentOS


Crossroads je nástroj pro vyrovnávání zatížení s otevřeným zdrojovým kódem a přepnutí při selhání, nezávislý na službě pro služby založené na Linuxu a TCP. Lze jej použít pro HTTP, HTTPS, SSH, SMTP a DNS atd. Je to také vícevláknová utilita, která spotřebovává pouze jeden paměťový prostor, což vede ke zvýšení výkonu při vyrovnávání zátěže.

Pojďme se podívat, jak XR funguje. Můžeme najít XR mezi síťovými klienty a hnízdem serverů, které odesílají požadavky klientů na servery vyrovnávající zátěž.

Pokud je server mimo provoz, XR předá další požadavek klienta na další server v řadě, takže klient nepociťuje žádné výpadky. Podívejte se na níže uvedený diagram, abyste pochopili, jakou situaci budeme s XR řešit.

Existují dva webové servery, jeden server brány, který instalujeme a nastavujeme XR pro příjem požadavků klientů a jejich distribuci mezi servery.

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

Ve výše uvedeném scénáři má můj server brány (tj. XR Crossroads) IP adresu 172.16.1.222, webserver01 je 172.16.1.222 a naslouchá port 8888 a webserver02 je 192.168.1.161 a naslouchá přes port 5555.

Nyní vše, co potřebuji, je vyrovnat zatížení všech požadavků, které brána XR přijímá z internetu, a distribuovat je mezi dva webové servery, které vyvažují zatížení.

Krok 1: Nainstalujte XR Crossroads Load Balancer na Gateway Server

1. Bohužel pro crosscroads nejsou k dispozici žádné binární balíčky RPM, což je jediný způsob, jak nainstalovat XR crossroads ze zdrojového tarballu.

Chcete-li zkompilovat XR, musíte mít v systému nainstalovaný kompilátor C++ a nástroje Gnu make, abyste mohli pokračovat v instalaci bez chyb.

yum install gcc gcc-c++ make

Dále si stáhněte zdrojový tarball na jejich oficiálních stránkách (https://crossroads.e-tunity.com) a stáhněte si archivovaný balíček (tj. crossroads-stable.tar.gz).

Alternativně můžete použít následující nástroj wget ke stažení balíčku a jeho rozbalení na libovolném místě (např.: /usr/src/), přejděte do rozbaleného adresáře a zadejte „< příkazmake install “.

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

Po dokončení instalace se vytvoří binární soubory pod /usr/sbin/ a konfigurace XR v /etc konkrétně „xrctl.xml“.

2. Jako poslední předpoklad potřebujete dva webové servery. Pro snadné použití jsem vytvořil dvě instance SimpleHTTPServer pythonu na jednom serveru.

Chcete-li zjistit, jak nastavit pythonový SimpleHTTPServer, přečtěte si náš článek na stránce Vytvořte dva webové servery snadno pomocí SimpleHTTPServeru.

Jak jsem řekl, používáme dva webové servery a webserver01 běží na 172.16.1.222 přes port 8888 a webserver02 běžící na 192.168.1.161 přes port 5555.

Krok 2: Nakonfigurujte XR Crossroads Load Balancer

3. Všechny náležitosti jsou splněny. Nyní musíme nakonfigurovat soubor xrctl.xml tak, aby rozděloval zátěž mezi webové servery, které přijímá server XR z internetu.

Nyní otevřete soubor xrctl.xml pomocí editoru vi/vim.

vim /etc/xrctl.xml

a proveďte změny, jak je navrženo níže.

<?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>

Zde můžete vidět velmi základní konfiguraci XR provedenou v xrctl.xml. Definoval jsem, co je XR server, jaké jsou back-end servery a jejich porty a port webového rozhraní pro XR.

4. Nyní musíte spustit démona XR zadáním níže uvedených příkazů.

xrctl start
xrctl status

5. Dobře. Nyní je čas zkontrolovat, zda konfigurace funguje správně. Otevřete dva webové prohlížeče a zadejte IP adresu XR serveru s portem a podívejte se na výstup.

Fantastický. Funguje to dobře. nyní je čas hrát s XR.

6. Nyní je čas přihlásit se do řídicího panelu XR Crossroads a podívat se na port, který jsme nakonfigurovali pro webové rozhraní. Zadejte IP adresu vašeho XR serveru s číslem portu pro webové rozhraní, které jste nakonfigurovali v xrctl.xml.

http://172.16.1.204:8010

Takhle to vypadá. Je snadno pochopitelný, uživatelsky přívětivý a snadno použitelný. V pravém horním rohu ukazuje, kolik připojení každý back-end server přijal, spolu s dalšími podrobnostmi týkajícími se přijímaných požadavků. I vy můžete nastavit váhu zatížení každého serveru, kterou musíte unést, maximální počet připojení a průměrnou zátěž atd.

Nejlepší na tom je, že to můžete udělat i bez konfigurace xrctl.xml. Jediné, co musíte udělat, je zadat příkaz s následující syntaxí a to udělá práci.

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

Podrobné vysvětlení výše uvedené syntaxe:

  1. –verbose zobrazí, co se stane po provedení příkazu.
  2. –server definuje XR server, na který jste balíček nainstalovali.
  3. –backend definuje webové servery, na které potřebujete vyvážit provoz.
  4. Tcp definuje, že používá služby tcp.

Pro více podrobností o dokumentaci a konfiguraci CROSSROADS navštivte prosím jejich oficiální stránky na: https://crossroads.e-tunity.com/.

XR Corssroads umožňuje mnoho způsobů, jak zvýšit výkon vašeho serveru, chránit prostoje a usnadnit a usnadnit úkoly správce. Doufám, že se vám průvodce líbil, a neváhejte níže komentovat návrhy a vysvětlení. Zůstaňte v kontaktu se společností Tecmint a získejte užitečné návody.

Čtěte také: Instalace nástroje Pound Load Balancer pro řízení zatížení webového serveru