Kuweka Usawazishaji wa Upakiaji wa Seva za Wavuti kwa kutumia POUND kwenye RHEL/CentOS


POUND ni mpango wa kusawazisha mzigo uliotengenezwa na Kampuni ya ITSECURITY. Ni chombo chepesi chepesi kilicho wazi cha proksi ya kubadili nyuma ambayo inaweza kutumika kama mizani ya upakiaji ya seva ya wavuti ili kusambaza mzigo kati ya seva kadhaa. Kuna faida kadhaa ambazo POUND inatoa kwa mtumiaji wa mwisho ambazo ni rahisi sana na hufanya kazi vizuri.

  1. Inaauni wapangishi pepe.
  2. Inaweza kusanidiwa.
  3. Seva ya nyuma inaposhindikana au kurejeshwa kutokana na hitilafu, huitambua kiotomatiki na kuweka maamuzi yake ya kusawazisha mzigo kulingana na hilo.
  4. Inakataa maombi yasiyo sahihi.
  5. Hakuna kivinjari maalum au seva za wavuti.

Wacha tuangalie jinsi ya kufanya udukuzi huu.

Awali ya yote utahitaji mazingira kwa ajili ya kuelewa vyema kuhusu kufanya hili. Kwa hivyo nitatumia hali ambapo kuna seva mbili za wavuti na seva moja ya lango ambayo inahitaji kusawazisha maombi huja kwa seva ya lango kwa seva za wavuti.

Pound Gateway Server : 172.16.1.222
Web Server 01 : 172.16.1.204
Web Server 02 : 192.168.1.161

Hatua ya 1: Sakinisha Kisawazisha cha Pauni kwenye Lango la Seva

1. Njia rahisi zaidi ya kusakinisha Pauni ni kutumia vifurushi vya RPM vilivyokusanywa awali, unaweza kupata RPM za usambazaji kulingana na RedHat katika:

  1. http://www.invoca.ch/pub/packages/pound/

Vinginevyo, Pauni inaweza kusakinishwa kwa urahisi kutoka kwa hazina ya EPEL kama inavyoonyeshwa hapa chini.

# yum install epel-release
# yum install Pound

Baada ya Pauni kusakinishwa, unaweza kuthibitisha ikiwa imesakinishwa kwa kutoa amri hii.

# rpm –qa |grep Pound

2. Pili, unahitaji seva mbili za wavuti kusawazisha mzigo na uhakikishe kuwa una vitambulisho wazi ili kujaribu usanidi wa pauni hufanya kazi vizuri.

Hapa nina seva mbili zilizo na anwani za IP 172.16.1.204 na 192.168.1.161.

Kwa urahisi wa utumiaji, nimeunda python SimpleHTTPServer kuunda seva ya wavuti ya papo hapo kwenye seva zote mbili. Soma kuhusu python SimpleHTTPServer

Katika hali yangu, nina webserver01 yangu inayoendesha 172.16.1.204 kupitia bandari 8888 na webserver02 inayoendesha 192.168.1.161 kupitia bandari 5555.

Hatua ya 2: Sanidi Kisawazisha cha Mzigo wa Pauni

3. Sasa ni wakati wa kufanya usanidi kufanyika. Baada ya kusakinisha pauni kwa mafanikio, itaunda faili ya usanidi ya pauni katika /etc, yaani pound.cfg.

Tunapaswa kuhariri seva na maelezo ya nyuma ili kusawazisha mzigo kati ya seva za wavuti. Nenda kwa /etc na ufungue pound.cfg faili kwa ajili ya kuhariri.

# vi /etc/pound.cfg

Fanya mabadiliko kama inavyopendekezwa hapa chini.

ListenHTTP
    Address 172.16.1.222
    Port 80
End

ListenHTTPS
    Address 172.16.1.222
    Port    443
    Cert    "/etc/pki/tls/certs/pound.pem"
End

Service
    BackEnd
        Address 172.16.1.204
        Port    8888
    End

    BackEnd
        Address 192.168.1.161
        Port    5555
    End
End

Hivi ndivyo faili yangu ya pound.cfg inavyoonekana.

Chini ya lebo za \SikilizaHTTP na \SikilizaHTTPS, lazima uweke anwani ya IP ya seva uliyosakinisha POUND.

Kwa chaguo-msingi seva hushughulikia maombi ya HTTP ingawa lango 80 na maombi ya HTTPS kupitia lango 443. Chini ya lebo ya Huduma, unaweza kuongeza kiasi chochote cha lebo ndogo zinazoitwa \BackEnd. Lebo za BackEnd hubeba anwani za IP na nambari za mlango ambazo seva za wavuti zinaendesha.

Sasa hifadhi faili baada ya kuihariri kwa usahihi na uanze upya huduma ya POUND kwa kutoa moja ya amri zilizo hapa chini.

# /etc/init.d/pound restart 
OR
# service pound restart
OR
# systemctl restart pound.service

4. Sasa ni wakati wa kuangalia. Fungua vivinjari viwili vya wavuti ili kuangalia ikiwa usanidi wetu hufanya kazi vizuri. Katika upau wa anwani andika anwani ya IP ya lango lako la POUND na uone kinachoonekana.

Ombi la kwanza linapaswa kupakia webserver01 ya kwanza na ombi la pili kutoka kwa kivinjari kingine lazima lipakie webserver02 ya pili.

Zaidi ya hayo, fikiria hali kama vile ikiwa una seva mbili za wavuti za kupakia salio na moja ya utendaji wa seva ni nzuri na utendakazi wa nyingine si mzuri sana.

Kwa hivyo wakati wa kusawazisha mzigo kati yao, italazimika kuzingatia ni seva gani unapaswa kuweka uzito zaidi. Ni wazi kwa seva iliyo na sifa nzuri za utendaji.

Ili kusawazisha mzigo hivyo, itabidi tu uongeze kigezo kimoja ndani ya faili ya pound.cfg. Hebu tuiangalie.

Fikiria seva 192.168.1.161:5555 ni seva bora. Kisha unahitaji kuweka maombi zaidi mtiririko kwa seva hiyo. Chini ya lebo ya BackEnd ambayo imesanidiwa kwa seva ya 192.168.1.161, ongeza kigezo \Kipaumbele kabla ya lebo ya Mwisho.

Tazama hapa chini mfano.

Masafa tunayoweza kutumia kwa kigezo cha \Kipaumbele ni kati ya 1-9. Tusipoifafanua, thamani chaguomsingi ya 5 itawekwa.

Kisha mzigo utasawazishwa kwa usawa. Tukifafanua nambari ya Kipaumbele, POUND itapakia seva na nambari ya kipaumbele cha juu mara nyingi zaidi. Kwa hiyo katika kesi hii, 192.168.1.161:5555 itapakiwa mara nyingi zaidi kuliko seva 172.16.1.204:8888.

Hatua ya 3: Kupanga Migawanyiko ya Dharura

Lebo ya Dharura: Lebo hii inatumika kupakia seva ikiwa seva zote za mwisho zimekufa. Unaweza kuiongeza kabla ya lebo ya Mwisho ya pound.cfg kama ifuatavyo.

“Emergency
           Address 192.168.5.10
           Port        8080
   End”

6. POUND daima fuatilia ni seva zipi za backend ziko hai na zipi hazipo. Tunaweza kufafanua baada ya sekunde ngapi POUND inapaswa kuangalia seva za mazingira nyuma kwa kuongeza kigezo cha \Hai katika pound.cfg.

Unaweza kutumia kigezo kama \Hai 30 kwa kuiweka kwa sekunde 30. Pauni itazima kwa muda seva za nyuma ambazo hazifanyi kazi. Tunaposema seva haijibu inaweza kufa au haiwezi kuanzisha muunganisho kwa wakati huo.

POUND itaangalia seva ya mazingira nyuma iliyozimwa baada ya kila kipindi ambacho umefafanua katika faili ya pound.cfg ikiwa seva inaweza kuanzisha muunganisho, basi POUND inaweza kurejea kufanya kazi na seva.

7. Daemon ya POUND itashughulikiwa kwa amri ya poundctl. Kwa kuwa na hilo hatuhitaji kuhariri faili ya pound.cfg na tunaweza kutoa Linner Server, seva za BackEnd na vipindi n.k. kupitia amri moja.

Syntax: poundctl -c /path/to/socket [-L/-l] [-S/-s] [-B/-b] [-N/-n] [-H] [-X]

  1. -c inafafanua njia ya soketi yako.
  2. -L/-l inafafanua msikilizaji wa usanifu wako.
  3. -S/-s inafafanua huduma.
  4. -B/-b inafafanua seva za nyuma.

Tazama kurasa za mtu wa poundctl kwa habari zaidi.

Tunatumahi utafurahiya udukuzi huu na kugundua chaguo zaidi kuhusu hili. Jisikie huru kutoa maoni hapa chini kwa mapendekezo na mawazo yoyote. Endelea kuwasiliana na Tecmint kwa jinsi ya kufanya vizuri na mpya zaidi.