Chaidh an eadar-theangachadh den artaigil ullachadh air an oidhche ro thoiseach a’ chùrsa
Tha cothromachadh luchdan na fhuasgladh cumanta airson tagraidhean lìn a sgèileadh gu còmhnard thar grunn luchd-aoigheachd fhad ‘s a tha iad a’ toirt aon àite ruigsinneachd don t-seirbheis do luchd-cleachdaidh.
Bidh HAProxy a’ feuchainn ri cleachdadh ghoireasan a mheudachadh, an ìre as àirde a thoirt seachad, ùine freagairt a lughdachadh, agus cus luchdachadh de ghoireas fa-leth a sheachnadh. Faodar a chuir a-steach air grunn sgaoilidhean Linux, leithid CentOS 8, air am bi sinn a’ cuimseachadh san stiùireadh seo, a bharrachd air siostaman
Tha HAProxy gu sònraichte freagarrach airson làraich-lìn le trafaic fìor àrd agus mar sin tha e air a chleachdadh gu tric gus earbsachd agus coileanadh rèiteachaidhean seirbheis lìn ioma-fhrithealaiche a leasachadh. Tha an iùl seo a’ mìneachadh nan ceumannan gus HAProxy a stèidheachadh mar chothromachadh luchdan air aoigheachd sgòthan CentOS 8, a bhios an uairsin a’ slighe trafaic gu na frithealaichean lìn agad.
Mar ro-riatanach airson na builean as fheàrr, bu chòir gum biodh co-dhiù dà fhrithealaiche lìn agad agus frithealaiche cothromachaidh luchdan. Feumaidh frithealaichean lìn a bhith a’ ruith co-dhiù seirbheis lìn bunaiteach leithid nginx no httpd gus cothromachadh luchdan a dhearbhadh eatorra.
A’ stàladh HAProxy air CentOS 8
Leis gu bheil HAProxy na thagradh stòr fosgailte a tha ag atharrachadh gu luath, is dòcha nach e an sgaoileadh a tha ri fhaighinn dhut ann an stòran àbhaisteach CentOS an dreach as ùire. Gus faighinn a-mach an tionndadh làithreach, ruith an òrdugh a leanas:
sudo yum info haproxy
Bidh HAProxy an-còmhnaidh a’ toirt seachad trì dreachan seasmhach airson taghadh: an dà dhreach le taic as ùire agus an treas dreach nas sine a tha fhathast a’ faighinn ùrachaidhean èiginneach. Faodaidh tu an-còmhnaidh sgrùdadh a dhèanamh air an dreach seasmhach as ùire a tha air a liostadh air làrach-lìn HAProxy agus an uairsin co-dhùnadh dè an dreach a tha thu airson a bhith ag obair leis.
San stiùireadh seo, bidh sinn a’ stàladh an dreach seasmhach 2.0 as ùire, nach robh fhathast ri fhaighinn anns na stòran àbhaisteach aig àm sgrìobhaidh an iùil. Feumaidh tu a stàladh bhon stòr thùsail. Ach an toiseach, dèan cinnteach a bheil thu air na cumhaichean riatanach a choileanadh gus am prògram a luchdachadh sìos agus a chuir ri chèile.
sudo yum install gcc pcre-devel tar make -y
Luchdaich sìos an còd tùsail leis an àithne gu h-ìosal. Faodaidh tu dearbhadh a bheil dreach nas ùire ri fhaighinn air
wget http://www.haproxy.org/download/2.0/src/haproxy-2.0.7.tar.gz -O ~/haproxy.tar.gz
Aon uair ‘s gu bheil an luchdachadh sìos deiseil, thoir a-mach na faidhlichean a’ cleachdadh an àithne gu h-ìosal:
tar xzvf ~/haproxy.tar.gz -C ~/
Rach don eòlaire stòr gun phacaid:
cd ~/haproxy-2.0.7
An uairsin cuir ri chèile am prògram airson an t-siostam agad:
make TARGET=linux-glibc
Agus mu dheireadh, stàlaich HAProxy fhèin:
sudo make install
Tha HAProxy a-nis air a chuir a-steach, ach tha feum air beagan làimhseachaidhean a bharrachd gus toirt air obrachadh. Leanaidh sinn oirnn a’ stèidheachadh am bathar-bog agus na seirbheisean gu h-ìosal.
A’ stèidheachadh HAProxy airson an fhrithealaiche agad
A-nis cuir ris na clàran agus am faidhle staitistig a leanas airson na h-inntrigidhean HAProxy:
sudo mkdir -p /etc/haproxy
sudo mkdir -p /var/lib/haproxy
sudo touch /var/lib/haproxy/stats
Cruthaich ceangal samhlachail airson na binaries gus an urrainn dhut òrdughan HAProxy a ruith mar neach-cleachdaidh cunbhalach:
sudo ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
Ma tha thu airson progsaidh a chuir ris an t-siostam agad mar sheirbheis, dèan lethbhreac den fhaidhle haproxy.init bho eisimpleirean chun eòlaire /etc/init.d agad. Deasaich ceadan an fhaidhle gus an ruith an sgriobt, agus an uairsin ath-thòisich an daemon systemd:
sudo cp ~/haproxy-2.0.7/examples/haproxy.init /etc/init.d/haproxy
sudo chmod 755 /etc/init.d/haproxy
sudo systemctl daemon-reload
Feumaidh tu cuideachd leigeil leis an t-seirbheis ath-thòiseachadh gu fèin-ghluasadach nuair a thòisicheas an siostam:
sudo chkconfig haproxy on
Airson goireasachd, thathas cuideachd a’ moladh neach-cleachdaidh ùr a chuir ris gus HAProxy a ruith:
sudo useradd -r haproxy
Às deidh seo, faodaidh tu sgrùdadh a dhèanamh air an àireamh tionndaidh stàlaichte a-rithist leis an àithne a leanas:
haproxy -v
HA-Proxy version 2.0.7 2019/09/27 - https://haproxy.org/
Anns a 'chùis againn, bu chòir gum biodh an dreach 2.0.7, mar a chithear san eisimpleir toradh gu h-àrd.
Mu dheireadh, tha am balla-teine bunaiteach ann an CentOS 8 gu math cuingealaichte airson a 'phròiseict seo. Cleachd na h-òrdughan a leanas gus na seirbheisean a tha a dhìth a cheadachadh agus am balla-teine ath-shuidheachadh:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-port=8181/tcp
sudo firewall-cmd --reload
Luchdaich a-nuas suidheachadh airson balancer
Tha stèidheachadh HAProxy na phròiseas gu math sìmplidh. Gu bunaiteach, chan eil agad ach innse do HAProxy dè na ceanglaichean a bu chòir dha èisteachd agus càite am bu chòir dha an sgaoileadh.
Tha seo air a dhèanamh le bhith a’ cruthachadh faidhle rèiteachaidh /etc/haproxy/haproxy.cfg le roghainnean mìneachaidh. Faodaidh tu leughadh mu roghainnean rèiteachaidh HAProxy
Cothromachadh luchdan aig ìre còmhdhail (còmhdach 4)
Feuch an tòisich sinn leis an rèiteachadh bunaiteach. Cruthaich faidhle config ùr, mar eisimpleir a’ cleachdadh vi leis an òrdugh gu h-ìosal:
sudo vi /etc/haproxy/haproxy.cfg
Cuir na h-earrannan a leanas ris an fhaidhle. Cuir na àite server_name dè bu chòir fios a chuir chun luchd-frithealaidh agad air duilleag nan staitistig, agus prìobhaideach_ip - seòlaidhean IP prìobhaideach nan frithealaichean ris a bheil thu airson trafaic lìn a stiùireadh. Faodaidh tu sùil a thoirt air seòlaidhean IP prìobhaideach
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
Tha seo a’ mìneachadh cothromachadh luchdan còmhdach còmhdhail (còmhdach 4) air an taobh a-muigh leis an ainm http_front ag èisteachd air port 80, a bhios an uairsin a’ cur trafaic air adhart gu backend bunaiteach leis an t-ainm http_back. Bidh staitistig a bharrachd /haproxy?stats a' ceangal duilleag nan staitistig ris an t-seòladh ainmichte.
Diofar algorithms cothromachaidh luchdan.
Le bhith a’ sònrachadh luchd-frithealaidh anns an roinn backend leigidh HAProxy na frithealaichean sin a chleachdadh airson cothromachadh luchdan a rèir algairim robin cruinn nuair as urrainnear.
Bithear a’ cleachdadh algoirmean cothromachaidh gus faighinn a-mach dè am frithealaiche air an deireadh-sheachdain dhan tèid gach ceangal. Seo cuid de na roghainnean feumail:
- Roundrobin: Tha gach frithealaiche air a chleachdadh mu seach a rèir a chuideam. Is e seo an algairim as rèidh agus as cothromaiche nuair a tha ùine giollachd nan frithealaichean fhathast air a chuairteachadh gu cothromach. Tha an algairim seo fiùghantach, a’ leigeil le cuideam an fhrithealaiche atharrachadh air an itealan.
- Leasconn: tha am frithealaiche aig a bheil an àireamh as lugha de cheanglaichean air a thaghadh. Bithear a’ coileanadh robin cruinn eadar frithealaichean leis an aon luchd. Tha cleachdadh an algairim seo air a mholadh airson seiseanan fada leithid LDAP, SQL, TSE, msaa, ach chan eil e gu math freagarrach airson seiseanan goirid leithid HTTP.
- A 'chiad: Gheibh a’ chiad fhrithealaiche le sliotan ceangail a tha rim faighinn an ceangal. Bidh luchd-frithealaidh air an taghadh bhon ID àireamhach as ìsle chun an ìre as àirde, a tha a 'dol gu suidheachadh an fhrithealaiche air an tuathanas. Cho luath ‘s a ruigeas frithealaiche maxconn, thèid an ath fhrithealaiche a chleachdadh.
- Source: Tha an seòladh IP tùsail air a ghluasad agus air a roinn le cuideam iomlan luchd-frithealaidh ruith gus faighinn a-mach dè am frithealaiche a gheibh an t-iarrtas. San dòigh seo, bidh an aon sheòladh IP teachdaiche an-còmhnaidh a’ dol chun aon fhrithealaiche, fhad ‘s a bhios na frithealaichean mar an ceudna.
A’ stèidheachadh cothromachadh luchdan aig ìre an tagraidh (còmhdach 7)
Is e roghainn eile a tha ri fhaighinn cothromachadh luchdan a rèiteachadh gus ruith aig ìre an tagraidh (còmhdach 7), a tha feumail nuair a tha pàirtean den tagradh lìn agad suidhichte air diofar luchd-aoigheachd. Faodar seo a choileanadh le bhith a’ cur bacadh air tar-chur a’ cheangail, mar eisimpleir le URL.
Fosgail am faidhle rèiteachaidh HAProxy a’ cleachdadh deasaiche teacsa:
sudo vi /etc/haproxy/haproxy.cfg
An uairsin cuir air dòigh na roinnean aghaidh is backend mar a tha san eisimpleir gu h-ìosal:
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
Tha an frontend ag ainmeachadh riaghailt ACL ris an canar url_blog a tha a’ buntainn ris a h-uile ceangal le slighean a’ tòiseachadh le / blog. Tha Use_backend a’ sònrachadh gum bu chòir ceanglaichean a tha co-chosmhail ris an t-suidheachadh url_blog a bhith air am frithealadh le backend ainmichte blog_back, agus gach iarrtas eile air a làimhseachadh leis an deireadh-sheachdain bunaiteach.
Air an taobh backend, bidh an rèiteachadh a’ stèidheachadh dà bhuidheann de luchd-frithealaidh: http_back, mar a bha roimhe, agus fear ùr ris an canar blog_back, a bhios a’ làimhseachadh cheanglaichean ri example.com/blog.
Às deidh dhut na roghainnean atharrachadh, sàbhail am faidhle agus ath-thòisich HAProxy leis an àithne a leanas:
sudo systemctl restart haproxy
Ma gheibh thu rabhaidhean no teachdaireachdan mearachd sam bith aig àm tòiseachaidh, thoir sùil air an rèiteachadh agad dhaibh agus dèan cinnteach gu bheil thu air na faidhlichean agus na pasganan riatanach uile a chruthachadh, feuch ri ath-thòiseachadh a-rithist.
A 'dèanamh deuchainn air an rèiteachadh
Aon uair ‘s gu bheil HAProxy air a rèiteachadh agus a’ ruith, fosgail seòladh IP poblach an t-seirbheisiche cothromachaidh luchdan ann am brobhsair agus thoir sùil a bheil thu ceangailte ris an backend gu ceart. Bidh am paramadair stats uri anns an rèiteachadh a’ cruthachadh duilleag staitistig aig an t-seòladh ainmichte.
http://load_balancer_public_ip/haproxy?stats
Nuair a luchdaicheas tu an duilleag staitistig, ma tha na frithealaichean agad uile uaine, bha an suidheachadh soirbheachail!
Tha beagan fiosrachaidh feumail air duilleag nan staitistig airson sùil a chumail air na h-aoighean lìn agad, a’ gabhail a-steach ùine suas/sìos agus an àireamh de sheiseanan. Ma tha an frithealaiche comharraichte dearg, dèan cinnteach gu bheil am frithealaiche air a thionndadh air agus gun urrainn dhut a phingadh bhon inneal cothromachaidh luchdan.
Mura h-eil do chothromachadh luchdan a’ freagairt, dèan cinnteach nach eil balla-teine a’ bacadh ceanglaichean HTTP. Dèan cinnteach cuideachd gu bheil HAProxy ag obair a’ cleachdadh an àithne gu h-ìosal:
sudo systemctl status haproxy
Dìon duilleag staitistig le facal-faire
Ach, ma tha an duilleag staitistig dìreach air a liostadh air a ’cheann aghaidh, tha e fosgailte don h-uile duine fhaicinn, agus is dòcha nach e deagh bheachd a th’ ann. An àite sin, faodaidh tu àireamh port àbhaisteach a shònrachadh dha le bhith a’ cur an eisimpleir gu h-ìosal gu deireadh am faidhle haproxy.cfg agad. Cuir na àite ainm-cleachdaidh и facal-faire airson rudeigin sàbhailte:
listen stats
bind *:8181
stats enable
stats uri /
stats realm Haproxy Statistics
stats auth username:password
Às deidh dhut buidheann èisteachd ùr a chuir ris, thoir air falbh an seann cheangal stats uri bhon bhuidheann aghaidh. Nuair a bhios tu deiseil, sàbhail am faidhle agus ath-thòisich HAProxy.
sudo systemctl restart haproxy
An uairsin fosgail an cothromaiche luchdan a-rithist leis an àireamh port ùr agus log a-steach leis an ainm-cleachdaidh agus am facal-faire a shònraich thu san fhaidhle rèiteachaidh.
http://load_balancer_public_ip:8181
Dèan cinnteach gu bheil na frithealaichean agad fhathast a’ sealltainn uaine agus an uairsin fosgail dìreach an IP cothromachaidh luchdan gun àireamhan puirt sam bith sa bhrobhsair agad.
http://load_balancer_public_ip/
Ma tha co-dhiù measgachadh de dhuilleagan tighinn air tìr agad air na frithealaichean deireadh cùil agad, chì thu gum faigh thu freagairt bho aoigh eile a h-uile uair a bhios tu ag ath-luchdachadh na duilleige. Faodaidh tu feuchainn air diofar algorithms cothromachaidh anns an roinn rèiteachaidh no thoir sùil air
Co-dhùnadh: HAProxy Load Balancer
Meal an naidheachd air a bhith a’ stèidheachadh do chothromachadh luchdan HAProxy gu soirbheachail! Eadhon le suidheachadh cothromachaidh luchdan bunaiteach, faodaidh tu coileanadh agus ruigsinneachd an tagraidh lìn agad a leasachadh gu mòr. Chan eil anns an iùl seo ach ro-ràdh airson cothromachadh luchdan le HAProxy, a tha comasach air tòrr a bharrachd na na ghabhas a chòmhdach san stiùireadh rèiteachaidh sgiobalta. Tha sinn a’ moladh a bhith a’ feuchainn le diofar rèiteachaidhean a’ cleachdadh
Le bhith a’ cleachdadh grunn luchd-aoigheachd gus an t-seirbheis lìn agad a dhìon le rùm-cinn, is dòcha gum bi an neach-cothromachaidh luchdan fhèin fhathast na adhbhar fàiligeadh. Faodaidh tu tuilleadh leasachaidh a dhèanamh air ruigsinneachd àrd le bhith a’ stàladh IP fleòdraidh eadar ioma-luchd-cothromachaidh luchdan. Gheibh thu barrachd a-mach mu dheidhinn seo nar
Tuilleadh mun chùrsa
Source: www.habr.com