Setja upp XR (Crossroads) álagsjafnvægi fyrir vefþjóna á RHEL/CentOS


Crossroads er þjónustuóháð, opinn uppspretta álagsjafnvægi og bilunartól fyrir Linux og TCP byggða þjónustu. Það er hægt að nota fyrir HTTP, HTTPS, SSH, SMTP og DNS o.s.frv. Það er líka fjölþráða tól sem eyðir aðeins einu minnisrými sem leiðir til aukinnar afkösts þegar jafnvægi er álag.

Við skulum skoða hvernig XR virkar. Við getum fundið XR á milli netbiðlara og hreiður af netþjónum sem sendir beiðnir viðskiptavina til netþjónanna sem jafnar álagið.

Ef miðlari er niðri, sendir XR næstu biðlarabeiðni áfram á næsta netþjón í röðinni, þannig að viðskiptavinurinn finnur fyrir engum biðtíma. Skoðaðu skýringarmyndina hér að neðan til að skilja hvers konar aðstæður við ætlum að takast á við með XR.

Það eru tveir vefþjónar, einn gáttarþjónn sem við setjum upp og setjum upp XR til að taka á móti beiðnum viðskiptavina og dreifa þeim á netþjóna.

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

Í atburðarásinni hér að ofan ber hliðþjónninn minn (þ.e. XR Crossroads) IP töluna 172.16.1.222, vefþjónn01 er 172.16.1.222 og hann hlustar í gegnum port 8888 og vefþjónn02 er 192.168.1.161 og hann hlustar í gegnum port 555.

Nú þarf allt sem ég þarf er að jafna álag allra beiðna sem berast af XR gáttinni frá internetinu og dreifa þeim á tvo vefþjóna sem koma jafnvægi á álagið.

Skref 1: Settu upp XR Crossroads Load Balancer á Gateway Server

1. Því miður eru engir tvöfaldir RPM pakkar tiltækir fyrir krossgötur, eina leiðin til að setja upp XR krossgötur frá uppruna tarball.

Til að setja saman XR verður þú að hafa C++ þýðanda og Gnu gera tól uppsett á kerfinu til að halda áfram villulausri uppsetningu.

# yum install gcc gcc-c++ make

Næst skaltu hlaða niður upprunatarballinu með því að fara á opinberu síðuna þeirra (https://crossroads.e-tunity.com) og grípa geymslupakkann (þ.e. crossroads-stable.tar.gz).

Að öðrum kosti geturðu notað eftirfarandi wget tól til að hlaða niður pakkanum og draga hann út hvar sem er (td: /usr/src/), fara í upppakkaða möppu og gefa út \make install\ skipunina.

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

Eftir að uppsetningu lýkur eru tvöfaldar skrárnar búnar til undir /usr/sbin/ og XR stillingum innan /etc, nefnilega \xrctl.xml.

2. Sem síðasta forsenda þarftu tvo vefþjóna. Til að auðvelda notkun hef ég búið til tvö python SimpleHTTPServer tilvik á einum netþjóni.

Til að sjá hvernig á að setja upp python SimpleHTTPServer skaltu lesa greinina okkar á Búðu til tvo vefþjóna með því að nota SimpleHTTPServer auðveldlega.

Eins og ég sagði þá erum við að nota tvo vefþjóna og þeir eru vefþjónn01 sem keyrir á 172.16.1.222 í gegnum port 8888 og vefþjónn02 keyrir á 192.168.1.161 í gegnum port 5555.

Skref 2: Stilltu XR Crossroads Load Balancer

3. Allar kröfur eru til staðar. Það sem við þurfum að gera er að stilla xrctl.xml skrána til að dreifa álaginu á netþjónana sem XR miðlarinn tekur á móti frá internetinu.

Opnaðu nú xrctl.xml skrána með vi/vim ritlinum.

# vim /etc/xrctl.xml

og gera breytingarnar eins og lagt er til hér að neðan.

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

Hér geturðu séð mjög grunn XR stillingar gerðar innan xrctl.xml. Ég hef skilgreint hvað XR þjónninn er, hverjir eru bakendaþjónarnir og tengi þeirra og vefviðmótsport fyrir XR.

4. Nú þarftu að ræsa XR púkann með því að gefa út skipanir fyrir neðan.

# xrctl start
# xrctl status

5. Allt í lagi frábært. Nú er kominn tími til að athuga hvort stillingarnar virka vel. Opnaðu tvo vafra og sláðu inn IP tölu XR netþjónsins með tengi og sjáðu úttakið.

Frábært. Það virkar fínt. nú er kominn tími til að spila með XR.

6. Nú er kominn tími til að skrá sig inn á XR Crossroads mælaborðið og sjá portið sem við höfum stillt fyrir vefviðmót. Sláðu inn IP tölu XR þjónsins þíns með gáttarnúmerinu fyrir vefviðmótið sem þú hefur stillt í xrctl.xml.

http://172.16.1.204:8010

Svona lítur þetta út. Það er auðvelt að skilja, notendavænt og auðvelt í notkun. Það sýnir hversu margar tengingar hver bakþjónn fékk í efra hægra horninu ásamt viðbótarupplýsingum varðandi beiðnirnar sem berast. Jafnvel þú getur stillt hleðsluþyngd hverrar netþjóns sem þú þarft að bera, hámarksfjölda tenginga og meðaltal hleðslu osfrv.

Það besta er að þú getur gert þetta jafnvel án þess að stilla xrctl.xml. Eina sem þú þarft að gera er að gefa út skipunina með eftirfarandi setningafræði og hún mun gera verkið.

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

Útskýring á setningafræði hér að ofan í smáatriðum:

  1. –verbose mun sýna hvað gerist þegar skipunin hefur verið framkvæmd.
  2. –þjónn skilgreinir XR-þjóninn sem þú hefur sett upp pakkann í.
  3. –backend skilgreinir vefþjónana sem þú þarft til að koma jafnvægi á umferðina á.
  4. Tcp skilgreinir að það noti tcp þjónustu.

Fyrir frekari upplýsingar, um skjöl og stillingar CROSSROADS, vinsamlegast farðu á opinberu síðuna þeirra á: https://crossroads.e-tunity.com/.

XR Corssroads gerir margar leiðir kleift að auka frammistöðu netþjónsins, vernda niður í miðbæ og gera stjórnunarverkefni þín auðveldari og handhægri. Vona að þú hafir notið handbókarinnar og ekki hika við að skrifa athugasemdir hér að neðan til að fá tillögur og skýringar. Vertu í sambandi við Tecmint fyrir handhægar How To's.