O le faaliliuga o le tusiga na saunia i le afiafi o le amataga o le vasega
O le faapaleniina o uta o se fofo masani mo le fa'alava fa'alava o upegatafa'ilagi i luga o le tele o 'au a'o tu'uina atu i tagata fa'aoga se avanoa e tasi i le auaunaga.
E taumafai le HAProxy e fa'amalieina le fa'aogaina o puna'oa, fa'ateleina le gaosiga, fa'aitiitia le taimi tali, ma aloese mai le fa'atupuina o so'o se punaoa ta'itasi. E mafai ona faʻapipiʻi i luga o le tele o faʻasalalauga Linux, e pei o CentOS 8, lea o le a tatou taulaʻi i ai i lenei taʻiala, faʻapea foʻi ma faiga.
HAProxy e sili ona talafeagai mo 'upega tafaʻilagi e maualuga tele fefaʻatauaʻiga ma o lea e masani ona faʻaaogaina e faʻaleleia ai le faʻamaoni ma le faʻatinoina o faʻasalalauga auaunaga i luga ole laiga tele-server. O lenei taʻiala o loʻo faʻamatalaina ai laasaga e faʻatutuina ai HAProxy e avea o se paleni uta i luga o le CentOS 8 cloud host, ona faʻatautaia lea o fefaʻatauaiga i au 'upega tafaʻilagi.
I le avea o se mea e manaʻomia muamua mo faʻaiʻuga sili, e tatau ona i ai a itiiti ifo ma le lua 'upega tafaʻilagi ma se sapalai paleni uta. O 'upega tafaʻilagi e tatau ona faʻatautaia a itiiti ifo ma se 'auʻaunaga i luga ole laiga e pei ole nginx poʻo le httpd ina ia faʻataʻitaʻiina le paleni o uta i le va o latou.
Faʻapipiʻi HAProxy i CentOS 8
Talu ai ona o le HAProxy o se faʻamatalaga faʻalauiloa faʻavavevave, o le tufatufaga o loʻo avanoa mo oe i totonu o faleteuoloa masani CentOS atonu e le o se faʻamatalaga lata mai. Ina ia iloa le lomiga o loʻo iai nei, faʻataʻitaʻi le poloaiga lenei:
sudo yum info haproxy
O le HAProxy e tu'uina atu i taimi uma ni fa'amaumauga mautu e tolu e filifili mai ai: o fa'amatalaga lagolago e lua lata mai ma le lona tolu, fa'asologa tuai o lo'o maua pea fa'afouga taua. E mafai ona e siaki i taimi uma le lomiga mautu lata mai o loʻo lisiina i luga o le upega tafaʻilagi a le HAProxy ona filifili lea po o le fea lomiga e te manaʻo e galue ai.
I totonu o lenei taʻiala, o le a matou faʻapipiʻiina le stable version 2.0, lea e leʻi maua i totonu o faleteuoloa masani i le taimi na tusia ai le taʻiala. E te mana'omia le fa'apipi'iina mai le puna muamua. Ae muamua, siaki pe ua e ausia tulaga talafeagai e sii mai ma tuufaatasia le polokalama.
sudo yum install gcc pcre-devel tar make -y
La'u mai le source code e fa'aaoga ai le fa'atonuga i lalo. E mafai ona e siaki pe iai se fa'amatalaga fou o lo'o avanoa ile
wget http://www.haproxy.org/download/2.0/src/haproxy-2.0.7.tar.gz -O ~/haproxy.tar.gz
A maeʻa le download, aveese faila e faʻaaoga ai le poloaiga i lalo:
tar xzvf ~/haproxy.tar.gz -C ~/
Alu i le lisi o puna'oa e le'i fa'apipi'iina:
cd ~/haproxy-2.0.7
Ona tuufaatasia lea o le polokalame mo lau polokalama:
make TARGET=linux-glibc
Ma mulimuli ane, faʻapipiʻi HAProxy lava ia:
sudo make install
Ua fa'apipi'i nei le HAProxy, ae mana'omia nisi togafiti fa'aopoopo e fa'atino ai. Se'i o tatou fa'aauau le setiina o le polokalame ma auaunaga i lalo.
Fa'atulaga HAProxy mo lau 'au'aunaga
Faʻaopoopo nei faʻamaumauga ma faila faʻamaumauga mo faʻamaumauga HAProxy:
sudo mkdir -p /etc/haproxy
sudo mkdir -p /var/lib/haproxy
sudo touch /var/lib/haproxy/stats
Fausia se fesoʻotaʻiga faʻatusa mo binaries ina ia mafai ai ona e faʻatautaia poloaiga HAProxy o se tagata faʻaoga masani:
sudo ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
Afai e te manaʻo e faʻaopoopo se sui i lau 'auʻaunaga o se 'auʻaunaga, kopi le faila haproxy.init mai faʻataʻitaʻiga i lau /etc/init.d directory. Fa'asa'o le fa'atagaga o faila ina ia fa'agasolo ai le tusitusiga, ona toe amata lea o le 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
E te manaʻomia foʻi le faʻatagaina o le auaunaga e toe amata otometi pe a amata le polokalama:
sudo chkconfig haproxy on
Mo le faʻaogagofie, e fautuaina foi e faʻaopoopo se tagata fou e faʻatautaia HAProxy:
sudo useradd -r haproxy
A maeʻa lenei, e mafai ona e toe siaki le numera faʻapipiʻi faʻaoga e faʻaaoga ai le poloaiga lenei:
haproxy -v
HA-Proxy version 2.0.7 2019/09/27 - https://haproxy.org/
I la matou tulaga, o le lomiga e tatau ona 2.0.7, e pei ona faʻaalia i le faʻataʻitaʻiga o loʻo i luga.
Ma le mea mulimuli, o le faʻaogaina o le firewall i CentOS 8 e matua faʻatapulaʻaina mo lenei poloketi. Fa'aoga tulafono nei e fa'ataga ai auaunaga mana'omia ma toe setiina le pa puipui:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-port=8181/tcp
sudo firewall-cmd --reload
Seti Paleni uta
O le setiina o le HAProxy o se faiga faigofie lava. O le mea moni, pau lava le mea e tatau ona e faia o le taʻu atu i le HAProxy poʻo a fesoʻotaʻiga e tatau ona faʻalogo i ai ma le mea e tatau ona faʻafeiloaʻi ai.
E faia lenei mea e ala i le fatuina o se faila fetuutuunai /etc/haproxy/haproxy.cfg faʻatasi ai ma faʻamatalaga faʻatulagaina. E mafai ona e faitau e uiga i filifiliga faʻatulagaina HAProxy
Fa'apaleni uta i le vaega o felauaiga (vaega 4)
Tatou amata i le seti faavae. Fausia se faila faila fou, mo se faʻataʻitaʻiga faʻaaoga vi fa'atasi ai ma le fa'atonuga i lalo:
sudo vi /etc/haproxy/haproxy.cfg
Faaopoopo vaega nei i le faila. Sui igoa_server o le a le mea e tatau ona valaʻau i au 'auʻaunaga i luga o le itulau fuainumera, ma private_ip - tuatusi IP tumaoti o 'auʻaunaga e te manaʻo e faʻatonuina ai fefaʻatauaiga i luga ole laiga. E mafai ona e siaki tuatusi IP tumaoti
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
O lo'o fa'amatalaina ai le fa'aputuga o uta o felauaiga (layer 4) fa'aigoa i fafo http_front fa'alogologo i luga o le taulaga 80, ona fa'asolo atu lea o felauaiga i tua i tua e igoa http_back. Fa'amaumauga fa'aopoopo /haproxy?stats e feso'ota'i le itulau fa'amaumauga i le tuatusi fa'apitoa.
Eseese uta paleni algorithms.
O le faʻamalamalamaina o 'auʻaunaga i le pito i tua e mafai ai e HAProxy ona faʻaogaina nei sapalai mo le paleni o uta e tusa ai ma se algorithm round-robin pe a mafai.
Paleni algorithms e fa'aoga e iloa ai po'o fea le server i tua o feso'ota'iga e pasi atu i ai. O nisi nei o filifiliga aoga:
- Roundrobin: E fa'aoga ta'itasi ta'itasi e tusa ma lona mamafa. Ole algorithm sili lea ona lelei ma sili ona lelei pe a faʻaauau pea le tufatufaina atu o le taimi ole auʻaunaga. O lenei algorithm e malosi, e mafai ai ona fetuunai le mamafa o le server i luga o le lele.
- Leastconn: ua filifilia le server e tau leai ni feso'ota'iga. Round robin e faia i le va o sapalai e tutusa le uta. O le faʻaaogaina o lenei algorithm e fautuaina mo taimi uumi e pei ole LDAP, SQL, TSE, ma isi, ae e le fetaui lelei mo taimi pupuu e pei ole HTTP.
- Tulaga tasi: O le server muamua e iai avanoa feso'ota'iga avanoa e maua le feso'ota'iga. E filifilia 'au'aunaga mai le ID numera pito i lalo i le maualuga, lea e fa'aletonu i le tulaga o le server i le fa'ato'aga. O le taimi lava e oʻo atu ai le server i le maxconn, o le isi server e faʻaaogaina.
- puna: O le tuatusi IP puna'aga ua fa'asalaina ma vaevaeina i le aofa'i o le mamafa o fa'agaioiga fa'agaoioiga e iloa ai po'o fea le server o le a mauaina le talosaga. I lenei auala, o le tuatusi IP lava lea e tasi o le a alu i taimi uma i le server e tasi, ae tumau pea le server.
Fa'atulagaina le paleni o uta i le tulaga o talosaga (layer 7)
O le isi avanoa avanoa o le faʻapipiʻiina lea o se paleni o uta e tamoʻe i luga o le laulau talosaga (layer 7), lea e aoga pe a iai vaega o lau 'upega tafaʻilagi i luga o 'au eseese. E mafai ona ausia lenei mea e ala i le faʻapipiʻiina o le fesoʻotaʻiga, mo se faʻataʻitaʻiga ile URL.
Tatala le faila faʻatulagaina HAProxy e faʻaaoga ai se tusitala o tusitusiga:
sudo vi /etc/haproxy/haproxy.cfg
Ona fetuutuunai lea o vaega pito i luma ma tua e pei o le faataitaiga o loo i lalo:
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
O le pito i luma o loʻo faʻaalia se tulafono ACL e taʻua url_blog e faʻatatau i fesoʻotaʻiga uma ma auala e amata ile / blog. Use_backend o lo'o fa'amaoti mai o feso'ota'iga e fetaui ma le tulaga url_blog e tatau ona tu'uina atu e le pito i tua e igoa ia blog_back, ma o isi talosaga uma e fa'atautaia e le fa'aletonu tua.
I le pito i tua, o le faʻatulagaga e faʻatulagaina ai ni vaega se lua o sapalai: http_back, pei o le taimi muamua, ma se mea fou e taʻua blog_back, lea e faʻatautaia fesoʻotaʻiga i example.com/blog.
A maeʻa ona sui tulaga, faʻasaoina le faila ma toe amata HAProxy faʻaaoga le poloaiga lenei:
sudo systemctl restart haproxy
Afai e te mauaina ni lapataiga poʻo ni faʻamatalaga sese i le taimi o le amataga, siaki lau faʻatulagaga mo i latou ma ia mautinoa ua e fatuina uma faila ma faila talafeagai, ona toe taumafai lea e toe amata.
Su'ega le seti
A maeʻa ona faʻapipiʻi ma taʻavale HAProxy, tatala le tuatusi IP lautele o le server balancer i totonu o se suʻega ma siaki pe saʻo lou fesoʻotaʻi i le pito i tua. O le fa'asologa o fa'amaumauga uri i le fa'atulagaga e fausia ai se itulau fa'amaumauga i le tuatusi fa'apitoa.
http://load_balancer_public_ip/haproxy?stats
A e utaina le itulau o fuainumera, pe a faʻaalia uma lau 'auʻaunaga lanu meamata, ona manuia lea o le seti!
O le itulau o fuainumera o loʻo i ai ni faʻamatalaga aoga mo le siakiina o au 'upega tafaʻilagi, e aofia ai taimi i luga / lalo ma numera o vasega. Afai e fa'ailoga mumu le server, ia mautinoa o lo'o ola le server ma e mafai ona e ping mai le masini paleni uta.
Afai e le o tali mai lau paleni uta, ia mautinoa o fesoʻotaʻiga HTTP e le o poloka e se pa puipui. Ia mautinoa foi o loʻo galue HAProxy e faʻaaoga ai le poloaiga o loʻo i lalo:
sudo systemctl status haproxy
Puipuia le itulau o fuainumera i se upu faataga
Ae peita'i, afai o le itulau fa'amaumauga e na'o le lisi i le pito i luma, ona tatala lea mo tagata uma e va'ai, atonu e le o se manatu lelei. Nai lo lena, e mafai ona e tuʻuina atu i ai se numera o le taulaga masani e ala i le faʻaopoopoina o le faʻataʻitaʻiga i lalo i le pito o lau faila haproxy.cfg. Sui username и numera e le iloa e sesi mo se mea saogalemu:
listen stats
bind *:8181
stats enable
stats uri /
stats realm Haproxy Statistics
stats auth username:password
A mae'a fa'aopoopo se vaega fa'alogo fou, ave'ese le feso'ota'iga uri tuai mai le vaega pito i luma. A maeʻa, teu le faila ma toe amata HAProxy.
sudo systemctl restart haproxy
Ona toe tatala lea o le load balancer ma le numera o le taulaga fou ma saini i totonu ma le igoa ole igoa ma le upega tafailagi na e faʻamaonia i le faila faila.
http://load_balancer_public_ip:8181
Ia mautinoa o loʻo faʻaalia pea lau 'auʻaunaga lanu meamata ona tatala lea naʻo le uta paleni IP e aunoa ma ni numera o le taulaga i lau suʻega.
http://load_balancer_public_ip/
Afai e iai ni au itulau fa'atula'i 'ese'ese i au 'au'aunaga pito i tua, o le a e maitauina o taimi uma e te toe fa'atumuina ai le itulau e te maua ai se tali mai se isi 'au talimalo. E mafai ona e faʻataʻitaʻiina faʻatusatusaga algorithms eseese i le vaega faʻatulagaina pe siaki
Fa'ai'uga: HAProxy Load Paleni
Fa'afetai i le fa'atūina manuia o lau HAProxy load balancer! E oo lava i se seti faʻavae paleni uta, e mafai ona e faʻaleleia atili le faʻatinoga ma le avanoa o lau 'upega tafaʻilagi. O lenei ta'iala ua na'o se fa'atomuaga i le paleni o uta ma le HAProxy, lea e mafai ona sili atu nai lo mea e mafai ona ufiufi i le ta'iala fa'atulagaina vave. Matou te fautuaina le faʻataʻitaʻiina o faʻasalalauga eseese e faʻaaoga ai
I le fa'aogaina o le tele o 'au e puipuia ai lau 'upega tafa'ilagi ma le ulu, o le load balancer lava ia e ono fa'aalia pea se tulaga o le toilalo. E mafai ona e fa'aleleia atili le avanoa maualuga e ala i le fa'apipi'iina o se IP fa'afefete i le va o le tele o paleni uta. E mafai ona e iloa atili e uiga i lenei mea ile matou
E uiga i le kosi
puna: www.habr.com