Turjumaada maqaalka waxaa la diyaariyay ka hor bilowga koorsada
Isku-dheellitirka culeysku waa xal caadi ah oo si toos ah u miisaamaya codsiyada webka ee martigeliyayaal badan iyadoo la siinayo isticmaalayaasha hal dhibic oo ay ka helaan adeegga.
HAProxy waxay ku dadaashaa inay wanaajiso isticmaalka kheyraadka, kordhiso wax soo saarka, yarayso wakhtiga jawaabta, oo ay iska ilaaliso culayska kheyraadka gaarka ah. Waxaa lagu rakibi karaa noocyo kala duwan oo Linux ah, sida CentOS 8, oo aan diiradda saari doono hagahan, iyo sidoo kale nidaamyada.
HAProxy waxay si gaar ah ugu habboon tahay bogagga internetka ee leh taraafikada aadka u sarreeya, sidaas darteed waxaa badanaa loo isticmaalaa in lagu hagaajiyo isku hallaynta iyo waxqabadka isku xirka adeegga shabakadda ee server-yada badan. Hagahan waxa uu qeexayaa tillaabooyinka lagu dejinayo HAProxy sida miisaan-dheelliye culeyska CentOS 8 ee martigeliyaha daruuraha, kaas oo markaa u sii mara taraafikada mareegahaaga.
Shuruudaha natiijada ugu fiican, waa inaad haysataa ugu yaraan laba mareegaha internetka iyo server-ka dheelitirka culeyska. Adeegayaasha shabakadu waa inay ku shaqeeyaan ugu yaraan adeegga shabakadda aasaasiga ah sida nginx ama httpd si loo tijaabiyo isu dheelitirka culeyska dhexdooda.
Ku rakibida HAProxy CentOS 8
Sababtoo ah HAProxy waa codsi il furan oo si degdeg ah u kobcaya, qaybinta aad ka heli karto kaydadka CentOS ee caadiga ah waxaa laga yaabaa inaanay noqon noocii ugu dambeeyay. Si aad u ogaato nooca hadda, socodsii amarka soo socda:
sudo yum info haproxy
HAProxy had iyo jeer waxay bixisaa saddex nooc oo deggan oo laga kala dooranayo: labadii nooc ee ugu dambeeyay ee la taageeray iyo mid saddexaad, nooca da'da ah oo weli helaya cusboonaysiinta muhiimka ah. Waxaad mar walba hubin kartaa nooca ugu dambeeyay ee xasilloon ee ku taxan bogga HAProxy ka dibna go'aan ka gaar nooca aad rabto inaad la shaqeyso.
Hagahan, waxaanu ku rakibi doonaa nooca ugu dambeeyay 2.0, kaas oo aan wali laga helin kaydadka caadiga ah wakhtiga qorista hagaha. Waxaad u baahan doontaa inaad ka rakibto isha asalka ah. Laakiin marka hore, hubi inaad buuxisay shuruudaha lagama maarmaanka ah si aad u soo dejiso oo aad u ururiso barnaamijka.
sudo yum install gcc pcre-devel tar make -y
Soo deji koodhka isha adoo isticmaalaya amarka hoose. Waxaad hubin kartaa haddii uu jiro nooc cusub oo la heli karo
wget http://www.haproxy.org/download/2.0/src/haproxy-2.0.7.tar.gz -O ~/haproxy.tar.gz
Marka soo dejintu dhammaato, soo saar feylasha adiga oo isticmaalaya amarka hoose:
tar xzvf ~/haproxy.tar.gz -C ~/
Tag tusaha isha ee aan xidhxidhnayn:
cd ~/haproxy-2.0.7
Kadibna u diyaari barnaamijka nidaamkaaga:
make TARGET=linux-glibc
Ugu dambeyntiina, rakib HAProxy lafteeda:
sudo make install
HAProxy hadda waa la rakibay, laakiin waxay u baahan tahay wax-qabadyo dheeraad ah si ay u shaqeyso. Aynu sii wadno dejinta software-ka iyo adeegyada hoose.
Dejinta HAProxy server-kaaga
Hadda ku dar hagaha soo socda iyo faylka tirakoobka gelitaanka HAProxy:
sudo mkdir -p /etc/haproxy
sudo mkdir -p /var/lib/haproxy
sudo touch /var/lib/haproxy/stats
U samee xiriiriye calaamad u ah binaries si aad ugu socodsiiso amarrada HAProxy isticmaale caadi ah:
sudo ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
Haddii aad rabto inaad ku darto wakiil nidaamkaaga adeeg ahaan, nuqul ka koobbi faylka haproxy.init tusaale ahaan buuggaaga /etc/init.d. Tafatir oggolaanshaha faylka si qoraalku u shaqeeyo, ka dibna dib u bilaabo systemd daemon:
sudo cp ~/haproxy-2.0.7/examples/haproxy.init /etc/init.d/haproxy
sudo chmod 755 /etc/init.d/haproxy
sudo systemctl daemon-reload
Waxa kale oo aad u baahan tahay inaad u ogolaato adeega inuu si toos ah dib u bilaabo marka nidaamku bilaabmo:
sudo chkconfig haproxy on
Si sahlanaato, waxaa sidoo kale lagula talinayaa in lagu daro isticmaale cusub si uu u maamulo HAProxy:
sudo useradd -r haproxy
Taas ka dib, waxaad mar kale hubin kartaa lambarka nooca la rakibay adoo isticmaalaya amarka soo socda:
haproxy -v
HA-Proxy version 2.0.7 2019/09/27 - https://haproxy.org/
Xaaladeena, nuqulku waa inuu noqdaa 2.0.7, sida ku cad wax soo saarka tusaalaha ee kore.
Ugu dambeyntii, dab-damiska caadiga ah ee CentOS 8 ayaa aad u xaddidaya mashruucan. Isticmaal amarradan soo socda si aad u oggolaato adeegyada loo baahan yahay oo dib u dejiso firewall-ka:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-port=8181/tcp
sudo firewall-cmd --reload
Dejinta Balancer load
Dejinta HAProxy waa hab fudud oo cadaalad ah. Asal ahaan, waxa kaliya ee aad u baahan tahay inaad samayso waa inaad HAProxy u sheegtaa xidhiidhada ay tahay inay dhagaystaan ββiyo halka ay tahay inay ku gudbiyaan.
Tan waxaa lagu sameeyaa iyadoo la abuurayo faylka qaabeynta /etc/haproxy/haproxy.cfg oo leh jaangooyo qeexaya. Waxaad ka akhrisan kartaa xulashooyinka qaabeynta HAProxy
Isku-dheellitirka culeyska lakabka gaadiidka (lakabka 4)
Aan ku bilowno dejinta aasaasiga ah. Samee fayl habayn cusub, tusaale ahaan adigoo isticmaalaya vi iyadoo amarka hoos ku qoran:
sudo vi /etc/haproxy/haproxy.cfg
Ku dar qaybaha soo socda faylka. Beddel server_name waxa loogu yeero server-yadaada bogga tirakoobka, iyo private_ip - Cinwaannada IP-ga gaarka ah ee server-yada aad rabto inaad u hagto taraafikada shabakadda. Waxaad hubin kartaa ciwaanada IP-ga ee gaarka ah
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats timeout 30s
user haproxy
group haproxy
daemon
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
frontend http_front
bind *:80
stats uri /haproxy?stats
default_backend http_back
backend http_back
balance roundrobin
server server_name1 private_ip1:80 check
server server_name2 private_ip2:80 check
Tani waxay qeexaysaa isku dheeli tirnaanta culeyska lakabka gaadiidka (lakabka 4) dibadda loogu magac daray http_front dhageysiga dekedda 80, kaas oo markaas u gudbiya taraafikada dhabarka dambe ee loo yaqaan http_back. Tirokoobyada dheeriga ah ee /haproxy?stats waxay ku xidhaa bogga tirakoobka iyo ciwaanka la cayimay.
Algorithms isku dheelitirka culeyska kala duwan.
Sheegidda server-yada qaybta dambe waxay u ogolaataa HAProxy inay u isticmaasho adeegayaashan isku dheelitirnaanta culeyska iyadoo loo eegayo algorithm-robin wareega marka ay suurtagal tahay.
Isku-dheellitirka algorithms-yada waxaa loo isticmaalaa si loo go'aamiyo server-ka dhabarka dambe ee xiriir kasta loo gudbiyo. Waa kuwan qaar ka mid ah xulashooyinka waxtarka leh:
- Roondrobin: Server kastaa markiisa ayaa loo adeegsadaa hadba sida uu miisaankiisu yahay. Kani waa algorithmamka ugu fudud uguna cadaalad badan marka wakhtiga habaynta ee adeegayaashu ay si siman u qaybsan yihiin. Algorithm-kani waa mid firfircoon, taas oo u oggolaanaysa miisaanka server-ka in lagu hagaajiyo duulista.
- Leastconn: server-ka leh xiriirka ugu yar ayaa la doortay. Wareegga wareega ayaa lagu sameeyaa inta u dhaxaysa server-yada leh culeys isku mid ah. Isticmaalka algorithm-kan waxaa lagula talinayaa kulamo dheer sida LDAP, SQL, TSE, iwm, laakiin aad uguma habboona fadhiyada gaaban sida HTTP.
- Marka hore: Adeegga ugu horreeya ee leh boosaska isku xirka ee la heli karo ayaa helaya xiriirka. Server-yada waxa laga soo xulaa aqoonsiga lambar ee ugu hooseeya ilaa kan ugu sarreeya, kaas oo ku dhici kara booska seerfarku ku leeyahay beerta. Marka server uu gaaro maxconn, server-ka xiga ayaa la isticmaalayaa.
- Source: Ciwaanka IP-ga isha waa la xaday oo waxaa loo qaybiyay wadarta miisaanka adeegayaasha si loo go'aamiyo server-ka heli doona codsiga. Sidan, cinwaanka IP-ga macmiilka ah ayaa had iyo jeer aadi doona isla server, halka adeegayaashu ay ahaanayaan sidii hore.
Dejinta dheelitirka culeyska heerka codsiga (lakabka 7)
Ikhtiyaarka kale ee la heli karo ayaa ah in la habeeyo dheellitirka culeyska si uu ugu shaqeeyo lakabka codsiga (lakabka 7), kaas oo faa'iido leh marka qaybo ka mid ah codsigaaga shabakadu ay ku yaalaan martigeliyayaal kala duwan. Tan waxaa lagu gaari karaa iyadoo la xakameynayo gudbinta xiriirka, tusaale ahaan URL.
Fur faylka qaabeynta HAProxy adoo isticmaalaya tifaftiraha qoraalka:
sudo vi /etc/haproxy/haproxy.cfg
Ka dib u habbee qaybaha hore iyo kuwa dambe sida ku cad tusaalaha hoose:
frontend http_front
bind *:80
stats uri /haproxy?stats
acl url_blog path_beg /blog
use_backend blog_back if url_blog
default_backend http_back
backend http_back
balance roundrobin
server server_name1 private_ip1:80 check
server server_name2 private_ip2:80 check
backend blog_back
server server_name3 private_ip3:80 check
Xagga hore wuxuu ku dhawaaqayaa qaanuunka ACL ee loo yaqaan url_blog kaasoo quseeya dhammaan isku xirka waddooyinka ka bilaabma/blog. Use_backend waxa uu qeexayaa in xidhiidhada ku habboon url_blog ay tahay in uu u adeego qof dhabarka ah oo magaciisa la yidhaahdo blog_back, iyo dhammaan codsiyada kale waxa gacanta ku haya dhabarka dambe.
Dhinaca dambe, qaabayntu waxa ay dejisaa laba kooxood oo adeegayaal ah: http_back, sidii hore, iyo mid cusub oo loo yaqaan blog_back, kaas oo gacanta ku haya isku xidhka example.com/blog.
Ka dib markaad bedesho goobaha, kaydi faylka oo dib u bilaw HAProxy adoo isticmaalaya amarka soo socda:
sudo systemctl restart haproxy
Haddii aad hesho wax digniino ah ama farriimaha khaladka ah inta lagu jiro bilawga, hubi qaabayntaada iyaga oo hubi inaad abuurtay dhammaan faylasha iyo faylalka lagama maarmaanka ah, ka dibna isku day inaad mar kale dib u bilowdo.
Tijaabinta habaynta
Marka HAProxy la habeeyo oo la ordo, fur cinwaanka IP-ga dadweynaha ee server-ka culeyska culeyska ee browserka oo hubi haddii aad si sax ah ugu xiran tahay dhabarka dambe. Halbeegga ur ee istaatistikada ee qaabeynta wuxuu abuuraa bogga tirakoobka ee ciwaanka la cayimay.
http://load_balancer_public_ip/haproxy?stats
Markaad buuxiso bogga tirakoobka, haddii dhammaan server-yadaadu ay muujiyaan cagaar, ka dibna dejinta ayaa lagu guuleystay!
Bogga tirakoobka waxaa ku jira macluumaad faa'iido leh oo loogu talagalay dabagalka martigeliyahaaga webka, oo ay ku jiraan wakhtiga kor/hoos u dhaca iyo tirada fadhiyada. Haddii seerfarku calaamadaysan yahay casaan, hubi in seerfarku shidmay oo aad ka ping-ka-qaadi karto mishiinka dheelitirka culeyska.
Haddii miisaan-hayahaagu aanu ka jawaabin, hubi in isku xidhka HTTP aanu xidhin dab-damis. Sidoo kale hubi in HAProxy ay ku shaqeyneyso adoo isticmaalaya amarka hoose:
sudo systemctl status haproxy
Ku ilaalinta bogga tirakoobka erayga sirta ah
Si kastaba ha noqotee, haddii bogga tirakoobka uu si fudud ugu taxan yahay dhinaca hore, markaas way u furan tahay qof walba inuu arko, taas oo laga yaabo inaysan ahayn fikrad wanaagsan. Taa baddalkeeda, waxaad ku meelayn kartaa lambarka dekedda gaarka ah adoo ku daraya tusaalaha hoose dhammaadka faylkaaga haproxy.cfg. Beddel username ΠΈ password wax badbaado leh:
listen stats
bind *:8181
stats enable
stats uri /
stats realm Haproxy Statistics
stats auth username:password
Ka dib marka lagu daro koox cusub oo dhegeyste ah, ka saar isku xirka hore ee stats uri kooxda hore. Marka la dhammeeyo, kaydi faylka oo dib u bilow HAProxy.
sudo systemctl restart haproxy
Kadib fur dheelitirka culeyska mar labaad lambarka cusub ee dekedda oo gal magaca isticmaalaha iyo erayga sirta ah ee aad ku qeexday faylka qaabeynta.
http://load_balancer_public_ip:8181
Hubi in dhammaan server-yadaadu ay weli muujinayaan cagaar ka dibna fur kaliya culeyska culeyska IP-ga iyada oo aan wax nambaro deked ah ku jirin biraawsarkaaga.
http://load_balancer_public_ip/
Haddii aad haysato ugu yaraan bogag kala duwan oo kala duwan oo ka mid ah server-yadaada dambe, waxaad ogaan doontaa in mar kasta oo aad dib u soo celiso bogga aad ka hesho jawaab celin kale. Waxaad isku dayi kartaa algorithms-ka dheelitirka kala duwan ee qaybta qaabeynta ama iska hubi
Gabagabo: HAProxy Load Balancer
Hambalyo inaad si guul leh u dejisay miisaan-hayaha culayskaaga HAProxy! Xataa iyada oo la adeegsanayo isku-dheellitirka culeyska aasaasiga ah, waxaad si weyn u wanaajin kartaa waxqabadka iyo helitaanka codsigaaga shabakadda. Hagahan waa hordhac kaliya oo ku saabsan isku dheelitirka HAProxy, kaas oo awood u leh in ka badan waxa lagu dabooli karo hagaha dejinta degdegga ah. Waxaan kugula talineynaa inaad tijaabiso qaabab kala duwan adoo isticmaalaya
Adigoo isticmaalaya martigeliyayaal badan si aad u ilaaliso adeegaaga shabakada qolka hore, miisaanka culayska laftiisa ayaa laga yaabaa inuu weli soo bandhigo dhibic guul darro ah. Waxaad sii wanaajin kartaa helitaan sare adiga oo ku rakibaya IP sabbaynaya inta u dhaxaysa miisaaniyayaal badan oo xamuul ah. Waxaad ka heli kartaa wax badan oo arrintan ku saabsan annaga
Wax badan oo ku saabsan koorsada
Source: www.habr.com