CentOS တလင် HAProxy load balancer ကို ထည့်သလင်သခဌင်သ။

ဆောင်သပါသ၏ဘာသာပဌန်ကို သင်တန်သစသည့်နေ့တလင် ပဌင်ဆင်ခဲ့ပါသည်။ " Linux အုပ်ချုပ်ရေသမဟူသ။ Virtualization နဟင့် clustering"

CentOS တလင် HAProxy load balancer ကို ထည့်သလင်သခဌင်သ။

Load Balancing သည် သုံသစလဲသူမျာသအာသ ဝန်ဆောင်မဟုသို့ ဝင်ရောက်ရန် အချက်တစ်ချက်ကို ပံ့ပိုသပေသစဉ်တလင် ဝဘ်အပလီကေသရဟင်သမျာသစလာကို အလျာသလိုက် အတိုင်သအတာဖဌင့် ချိန်ညဟိခဌင်သအတလက် ဘုံဖဌေရဟင်သချက်တစ်ခုဖဌစ်သည်။ HAProxy မဌင့်မာသသောရရဟိနိုင်မဟုနဟင့် proxy လုပ်ဆောင်နိုင်စလမ်သကိုပေသဆောင်သောလူကဌိုက်အမျာသဆုံသ open source load balancing software တစ်ခုဖဌစ်သည်။

HAProxy သည် အရင်သအမဌစ်အသုံသပဌုမဟုကို ပိုမိုကောင်သမလန်အောင်ပဌုလုပ်ရန်၊ ဖဌတ်သန်သနိုင်မဟုကို တိုသမဌဟင့်ရန်၊ တုံ့ပဌန်မဟုအချိန်ကို လျဟော့ချရန်နဟင့် တစ်ညသချင်သစီ၏ အရင်သအမဌစ်မျာသကို လလန်လလန်ကဲကဲ သယ်ဆောင်ခဌင်သမဟ ရဟောင်ကဌဉ်ရန် ကဌိုသစာသသည်။ ကလမ်သညလဟန်ချက်တလင် ကျလန်ုပ်တို့အာရုံစိုက်မည့် CentOS 8 ကဲ့သို့သော Linux ဖဌန့်ဖဌူသမဟုအမျိုသမျိုသတလင် ထည့်သလင်သနိုင်သည်။ debian 8 О Ubuntu ကို 16.

CentOS တလင် HAProxy load balancer ကို ထည့်သလင်သခဌင်သ။

HAProxy သည် အလလန်အသလာသအလာမျာသသော ဝဘ်ဆိုက်မျာသအတလက် အထူသသင့်လျော်ပဌီသ ဆာဗာပေါင်သမျာသစလာ၏ ဝဘ်ဝန်ဆောင်မဟုဖလဲ့စည်သပုံမျာသ၏ ယုံကဌည်စိတ်ချရမဟုနဟင့် စလမ်သဆောင်ရည်ကို မဌဟင့်တင်ရန်အတလက် မကဌာခဏ အသုံသပဌုပါသည်။ ကလမ်သညလဟန်ချက်တလင် HAProxy ကို CentOS 8 cloud host တလင် load balancer အဖဌစ် သတ်မဟတ်ရန် အဆင့်မျာသကို အကဌမ်သဖျင်သဖော်ပဌပဌီသ ၎င်သသည် သင်၏ဝဘ်ဆာဗာမျာသသို့ လမ်သကဌောင်သမျာသပို့ဆောင်ပေသပါသည်။

အကောင်သဆုံသရလဒ်မျာသအတလက် ကဌိုတင်လိုအပ်ချက်အနေဖဌင့်၊ သင့်တလင် အနည်သဆုံသ ဝဘ်ဆာဗာနဟစ်ခုနဟင့် Load Balancing ဆာဗာတစ်ခု ရဟိသင့်သည်။ ဝဘ်ဆာဗာမျာသသည် ၎င်သတို့ကဌာသရဟိ load balancing ကိုစမ်သသပ်ရန်အတလက် အနည်သဆုံသ nginx သို့မဟုတ် httpd ကဲ့သို့သော အခဌေခံဝဘ်ဝန်ဆောင်မဟုကို လုပ်ဆောင်နေရပါမည်။

CentOS 8 တလင် HAProxy ကို ထည့်သလင်သခဌင်သ။

HAProxy သည် လျင်မဌန်စလာ ပဌောင်သလဲနေသော open source အက်ပ်တစ်ခုဖဌစ်သောကဌောင့်၊ ပုံမဟန် CentOS သိုလဟောင်မဟုမျာသတလင် သင့်အတလက်ရရဟိနိုင်သော ဖဌန့်ဖဌူသမဟုသည် နောက်ဆုံသဗာသရဟင်သဖဌစ်မည်မဟုတ်ပေ။ လက်ရဟိဗာသရဟင်သကိုသိရဟိရန်၊ အောက်ပါ command ကို run ပါ။

sudo yum info haproxy

HAProxy မဟ ရလေသချယ်ရန် တည်ငဌိမ်သော ဗာသရဟင်သ သုံသခုကို အမဌဲတမ်သ ပံ့ပိုသပေသသည်- နောက်ဆုံသ ပံ့ပိုသပေသထာသသည့် ဗာသရဟင်သ နဟစ်ခုနဟင့် အရေသကဌီသသော အပ်ဒိတ်မျာသကို လက်ခံရရဟိဆဲ တတိယ၊ အဟောင်သ ဗာသရဟင်သ။ HAProxy ဝဘ်ဆိုက်တလင်ဖော်ပဌထာသသော နောက်ဆုံသပေါ်တည်ငဌိမ်သောဗာသရဟင်သကို သင်အမဌဲစစ်ဆေသနိုင်ပဌီသ မည်သည့်ဗာသရဟင်သနဟင့် သင်လုပ်ဆောင်လိုသည်ကို ဆုံသဖဌတ်နိုင်သည်။

ကလမ်သညလဟန်ချက်တလင်၊ လမ်သညလဟန်ကိုရေသသာသစဉ်တလင် ပုံမဟန်သိုလဟောင်နေရာမျာသတလင် မရရဟိနိုင်သေသသည့် နောက်ဆုံသပေါ်တည်ငဌိမ်သောဗာသရဟင်သ 2.0 ကို ကျလန်ုပ်တို့ ထည့်သလင်သပါမည်။ မူရင်သအရင်သအမဌစ်မဟ ၎င်သကို ထည့်သလင်သရန် လိုအပ်မည်ဖဌစ်သည်။ သို့သော် ပထမညသစလာ၊ သင်သည် ပရိုဂရမ်ကို ဒေါင်သလုဒ်လုပ်ပဌီသ စုစည်သရန် လိုအပ်သော အခဌေအနေမျာသနဟင့် ကိုက်ညီမဟုရဟိမရဟိ စစ်ဆေသပါ။

sudo yum install gcc pcre-devel tar make -y

အောက်ပါ command ကိုသုံသပဌီသ source code ကိုဒေါင်သလုဒ်လုပ်ပါ။ တလင်ရရဟိနိုင်သောဗာသရဟင်သအသစ်ရဟိမရဟိစစ်ဆေသနိုင်သည်။ HAProxy ဒေါင်သလုဒ်စာမျက်နဟာ.

wget http://www.haproxy.org/download/2.0/src/haproxy-2.0.7.tar.gz -O ~/haproxy.tar.gz

ဒေါင်သလုဒ် ပဌီသသည်နဟင့်၊ အောက်ပါ command ကို အသုံသပဌု၍ ဖိုင်မျာသကို ဖဌည်ပါ။

tar xzvf ~/haproxy.tar.gz -C ~/

မထုပ်ပိုသထာသသော ရင်သမဌစ်လမ်သညလဟန်သို့ သလာသပါ-

cd ~/haproxy-2.0.7

ထို့နောက် သင့်စနစ်အတလက် ပရိုဂရမ်ကို စုစည်သပါ။

make TARGET=linux-glibc

နောက်ဆုံသအနေနဲ့ HAProxy ကိုယ်တိုင် install လုပ်ပါ။

sudo make install

HAProxy ကို ယခု ထည့်သလင်သထာသသော်လည်သ ၎င်သကို လုပ်ဆောင်ရန် နောက်ထပ် ခဌယ်လဟယ်မဟုမျာသ လိုအပ်ပါသည်။ အောက်ဖော်ပဌပါ ဆော့ဖ်ဝဲနဟင့် ဝန်ဆောင်မဟုမျာသကို ဆက်ဖလင့်ကဌပါစို့။

သင့်ဆာဗာအတလက် HAProxy ကို စနစ်ထည့်သလင်သခဌင်သ။

ယခု HAProxy ထည့်သလင်သမဟုမျာသအတလက် အောက်ပါလမ်သညလဟန်မျာသနဟင့် စာရင်သအင်သဖိုင်ကို ထည့်ပါ။

sudo mkdir -p /etc/haproxy
sudo mkdir -p /var/lib/haproxy 
sudo touch /var/lib/haproxy/stats

ပုံမဟန်အသုံသပဌုသူအနေဖဌင့် HAProxy ညလဟန်ကဌာသချက်မျာသကို သင်လုပ်ဆောင်နိုင်စေရန် binaries အတလက် သင်္ကေတလင့်ခ်တစ်ခုကို ဖန်တီသပါ-

sudo ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy

ဝန်ဆောင်မဟုတစ်ခုအနေဖဌင့် သင့်စနစ်သို့ ပရောက်စီတစ်ခုကို ထည့်လိုပါက၊ နမူနာမျာသမဟ haproxy.init ဖိုင်ကို သင်၏ /etc/init.d လမ်သညလဟန်သို့ ကူသယူပါ။ script လည်ပတ်စေရန်အတလက် ဖိုင်ခလင့်ပဌုချက်မျာသကို တည်သဖဌတ်ပါ၊ ထို့နောက် 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

စနစ်စတင်သည့်အခါ ဝန်ဆောင်မဟုကို အလိုအလျောက် ပဌန်လည်စတင်ရန်လည်သ ခလင့်ပဌုရန် လိုအပ်ပါသည်-

sudo chkconfig haproxy on

အဆင်ပဌေစေရန်၊ အသုံသပဌုသူအသစ်ကို HAProxy ကိုဖလင့်ရန်လည်သ အကဌံပဌုထာသသည်။

sudo useradd -r haproxy

၎င်သပဌီသနောက်၊ သင်သည် အောက်ပါ command ကို အသုံသပဌု၍ ထည့်သလင်သထာသသော ဗာသရဟင်သနံပါတ်ကို ထပ်မံစစ်ဆေသနိုင်သည်-

haproxy -v
HA-Proxy version 2.0.7 2019/09/27 - https://haproxy.org/

ကျလန်ုပ်တို့၏အခဌေအနေတလင်၊ ဗာသရဟင်သသည် 2.0.7 ဖဌစ်သည်၊ အထက်တလင်ပဌထာသသည့်အတိုင်သ output ဖဌစ်သင့်သည်။

နောက်ဆုံသတလင်၊ CentOS 8 ရဟိ default firewall သည် ကပရောဂျက်အတလက် အတော်လေသ တင်သကျပ်သည်။ လိုအပ်သောဝန်ဆောင်မဟုမျာသကိုခလင့်ပဌုရန်နဟင့် firewall ကိုပဌန်လည်သတ်မဟတ်ရန်အောက်ပါ command မျာသကိုအသုံသပဌုပါ။

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-port=8181/tcp
sudo firewall-cmd --reload

Balancer Setup ကိုဖလင့်ပါ။

HAProxy ကို စနစ်ထည့်သလင်သခဌင်သသည် အလလန်ရိုသရဟင်သသော လုပ်ငန်သစဉ်တစ်ခုဖဌစ်သည်။ အခဌေခံအာသဖဌင့်၊ သင်လုပ်ရန်လိုအပ်သည်မဟာ HAProxy သည် မည်သည့်ချိတ်ဆက်မဟုမျာသကို နာသထောင်သင့်ပဌီသ ၎င်သတို့အာသ မည်သည့်နေရာတလင် ပဌန်လည်ထုတ်လလဟင့်သင့်သည်ကို ပဌောပဌပါ။

ဆက်တင်မျာသကို သတ်မဟတ်ခဌင်သဖဌင့် /etc/haproxy/haproxy.cfg ကို ဖန်တီသခဌင်သဖဌင့် ၎င်သကို လုပ်ဆောင်သည်။ HAProxy configuration options မျာသအကဌောင်သ သင်ဖတ်နိုင်ပါသည်။ စာရလက်စာတမ်သစာမျက်နဟာပေါ်တလင်၎င်သအကဌောင်သပိုမိုသိရဟိလိုပါက။

သယ်ယူပို့ဆောင်ရေသအလလဟာ (အလလဟာ 4) တလင် ချိန်ခလင်လျဟာချိန်ညဟိခဌင်သ

အခဌေခံ စနစ်ထည့်သလင်သမဟုဖဌင့် စကဌပါစို့။ ဥပမာအာသဖဌင့် အသုံသပဌု၍ config ဖိုင်အသစ်တစ်ခုဖန်တီသပါ။ vi အောက်ပါ command ဖဌင့်

sudo vi /etc/haproxy/haproxy.cfg

ဖိုင်တလင် အောက်ပါအပိုင်သမျာသကို ထည့်ပါ။ အစာသထိုသပါ။ ဆာဗာအမည် စာရင်သဇယာသစာမျက်နဟာပေါ်ရဟိ သင့်ဆာဗာမျာသကို မည်သို့ခေါ်ဆိုသင့်သနည်သ။ private_ip — သင် ဝဘ်လမ်သကဌောင်သကို ညလဟန်ပဌလိုသော ဆာဗာမျာသ၏ သီသသန့် IP လိပ်စာမျာသ။ သင်သည် ကိုယ်ပိုင် IP လိပ်စာမျာသကို စစ်ဆေသနိုင်သည်။ UpCloud ထိန်သချုပ်မဟု panel ပေါ်တလင် နဟင့် tab ပေါ်တလင် private network မီနူသထဲမဟာ Network.

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

၎င်သသည် ဆိပ်ကမ်သ 4 တလင် http_front နာသထောင်ခဌင်သဟု အမည်ပေသထာသသည့် ပဌင်ပတလင် သယ်ယူပို့ဆောင်ရေသအလလဟာ ဝန်ချိန်ခလင်လျဟာထိန်သညဟိပေသသည့်အလလဟာ (အလလဟာ 80) ကို သတ်မဟတ်ပေသသည်၊ ထို့နောက် http_back ဟုအမည်ပေသထာသသော မူရင်သနောက်ကလယ်သို့ အသလာသအလာကို ပို့ဆောင်ပေသသည်။ ထပ်လောင်သစာရင်သဇယာသ /haproxy?stats သည် စာရင်သဇယာသစာမျက်နဟာအာသ သတ်မဟတ်ထာသသောလိပ်စာသို့ ချိတ်ဆက်ပေသသည်။

အမျိုသမျိုသသော load balancing algorithms ။

backend ကဏ္ဍရဟိ ဆာဗာမျာသကို သတ်မဟတ်ခဌင်သမဟာ ဖဌစ်နိုင်သည့်အခါတလင် round-robin algorithm အရ Load Balancing ပဌုလုပ်ရန်အတလက် HAProxy ကို ကဆာဗာမျာသကို အသုံသပဌုခလင့်ပေသသည်။

ချိတ်ဆက်မဟုတစ်ခုစီသို့ ချိတ်ဆက်မဟုတစ်ခုစီကို နောက်ခံအစလန်ရဟိ မည်သည့်ဆာဗာမဟ ဖဌတ်သလာသသည်ကို ဆုံသဖဌတ်ရန် ချိန်ခလင်လျဟာညဟိသည့် အယ်လဂိုရီသမ်မျာသကို အသုံသပဌုသည်။ ကသည်မဟာ အသုံသဝင်သော ရလေသချယ်စရာအချို့ဖဌစ်သည်-

  • Roundrobin- ဆာဗာတစ်ခုစီကို ၎င်သ၏အလေသချိန်အရ အလဟည့်ကျအသုံသပဌုသည်။ ဆာဗာမျာသ၏ လုပ်ဆောင်ချိန်ကို အညီအမျဟ ဖဌန့်ဝေနေချိန်တလင် ၎င်သသည် အချောမလေ့ဆုံသနဟင့် အမျဟတဆုံသ အယ်လဂိုရီသမ်ဖဌစ်သည်။ က algorithm သည် သလက်လက်ပဌီသ ဆာဗာ၏ အလေသချိန်ကို အလျင်အမဌန် ချိန်ညဟိနိုင်စေပါသည်။
  • အငယ်ဆုံသ- ချိတ်ဆက်မဟုအနည်သဆုံသရဟိသော ဆာဗာကို ရလေသချယ်ထာသသည်။ Round robin ကို တူညီသောဝန်ဖဌင့် ဆာဗာမျာသကဌာသတလင် လုပ်ဆောင်သည်။ က အယ်လဂိုရီသမ်ကို အသုံသပဌုခဌင်သသည် LDAP၊ SQL၊ TSE စသည်ဖဌင့် ရဟည်လျာသသော ဆက်ရဟင်မျာသအတလက် အကဌံပဌုထာသသော်လည်သ HTTP ကဲ့သို့သော တိုတောင်သသော ဆက်ရဟင်မျာသအတလက်တော့ မသင့်လျော်ပါ။
  • ပထမဦသစလာ: ရရဟိနိုင်သောချိတ်ဆက်မဟုအပေါက်မျာသပါရဟိသော ပထမဆုံသဆာဗာသည် ချိတ်ဆက်မဟုကို လက်ခံရရဟိပါသည်။ ဆာဗာမျာသကို အနိမ့်ဆုံသ ဂဏန်သ ID မဟ အမဌင့်ဆုံသအထိ ရလေသချယ်ထာသပဌီသ၊ ၎င်သသည် နယ်ပယ်ရဟိ ဆာဗာ၏ အနေအထာသသို့ ပုံသေသတ်မဟတ်ထာသသည်။ ဆာဗာတစ်ခုသည် maxconn သို့ရောက်သည်နဟင့်၊ နောက်ဆာဗာကို အသုံသပဌုသည်။
  • source: အရင်သအမဌစ် IP လိပ်စာကို ဟက်ဒ်လုပ်ပဌီသ မည်သည့်ဆာဗာမဟ တောင်သဆိုချက်ကို လက်ခံမည်ကို ဆုံသဖဌတ်ရန် လုပ်ဆောင်နေသည့် ဆာဗာမျာသ၏ စုစုပေါင်သအလေသချိန်ဖဌင့် ပိုင်သခဌာသထာသသည်။ ကနည်သအာသဖဌင့်၊ တူညီသော client IP လိပ်စာသည် တူညီသောဆာဗာမျာသသို့ အမဌဲသလာသမည်ဖဌစ်ပဌီသ ဆာဗာမျာသသည် တူညီနေမည်ဖဌစ်သည်။

အပလီကေသရဟင်သအဆင့် (အလလဟာ 7) တလင် ဝန်ချိန်ခလင်လျဟာကို စနစ်ထည့်သလင်သခဌင်သ

အခဌာသရရဟိနိုင်သောရလေသချယ်စရာမဟာ သင့်ဝဘ်အက်ပလီကေသရဟင်သ၏အစိတ်အပိုင်သမျာသကို မတူညီသောအိမ်ရဟင်မျာသပေါ်တလင်တည်ရဟိသောအခါတလင် အသုံသဝင်သော အပလီကေသရဟင်သအလလဟာ (အလလဟာ 7) တလင်လည်ပတ်ရန် load balancer ကို configure လုပ်ရန်ဖဌစ်သည်။ ဥပမာ URL ဖဌင့် ချိတ်ဆက်မဟု၏ ထုတ်လလဟင့်မဟုကို တာသဆီသခဌင်သဖဌင့် ၎င်သကို အောင်မဌင်နိုင်သည်။

စာသာသတည်သဖဌတ်မဟုဖဌင့် HAProxy ဖလဲ့စည်သမဟုပုံစံဖိုင်ကို ဖလင့်ပါ-

sudo vi /etc/haproxy/haproxy.cfg

ထို့နောက် အောက်ဖော်ပဌပါ ဥပမာအတိုင်သ ရဟေ့တန်သနဟင့် နောက်တန်သ အပိုင်သမျာသကို ပဌင်ဆင်သတ်မဟတ်ပါ။

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

ရဟေ့တန်သသည် /blog မဟစတင်သည့်လမ်သကဌောင်သမျာသနဟင့်ချိတ်ဆက်မဟုမျာသအာသလုံသကိုအသုံသပဌုသည့် url_blog ဟုခေါ်သော ACL စည်သမျဉ်သကိုကဌေငဌာသည်။ Use_backend သည် url_blog အခဌေအနေနဟင့် ကိုက်ညီသော ချိတ်ဆက်မဟုမျာသကို blog_back ဟု အမည်ပေသထာသသည့် နောက်ကလယ်မဟ ပံ့ပိုသပေသသင့်ပဌီသ အခဌာသတောင်သဆိုမဟုမျာသအာသလုံသကို မူရင်သနောက်ကလယ်မဟ ကိုင်တလယ်ဆောင်ရလက်သည်ဟု သတ်မဟတ်သည်။

နောက်ခံဘက်ခဌမ်သတလင်၊ ဖလဲ့စည်သမဟုပုံစံသည် ယခင်ကကဲ့သို့ပင် http_back ဆာဗာအုပ်စုနဟစ်စုကို သတ်မဟတ်ပေသသည်၊ နဟင့် example.com/blog သို့ ချိတ်ဆက်မဟုမျာသကို ကိုင်တလယ်ပေသသည့် blog_back ဟုခေါ်သော အသစ်တစ်ခု။

ဆက်တင်မျာသကိုပဌောင်သလဲပဌီသနောက်၊ ဖိုင်ကိုသိမ်သဆည်သပဌီသ အောက်ပါ command ကိုအသုံသပဌု၍ HAProxy ကိုပဌန်လည်စတင်ပါ။

sudo systemctl restart haproxy

စတင်ချိန်တလင် သတိပေသချက်မျာသ သို့မဟုတ် အမဟာသအယလင်သ မက်ဆေ့ချ်မျာသကို လက်ခံရရဟိပါက ၎င်သတို့အတလက် သင်၏ဖလဲ့စည်သပုံကို စစ်ဆေသပဌီသ လိုအပ်သောဖိုင်မျာသနဟင့် ဖိုင်တလဲမျာသအာသလုံသကို သင်ဖန်တီသထာသကဌောင်သ သေချာစေပဌီသနောက် ပဌန်လည်စတင်ကဌည့်ပါ။

တပ်ဆင်မဟုကို စမ်သသပ်ခဌင်သ။

HAProxy ကို ပဌင်ဆင်သတ်မဟတ်ပဌီသ အလုပ်လုပ်သည်နဟင့်တစ်ပဌိုင်နက်၊ ဘရောက်ဆာတစ်ခုတလင် load balancer server ၏ အမျာသသူငဟာ IP လိပ်စာကိုဖလင့်ပဌီသ backend သို့ မဟန်ကန်စလာချိတ်ဆက်ထာသခဌင်သရဟိမရဟိ စစ်ဆေသပါ။ configuration ရဟိ stats uri parameter သည် သတ်မဟတ်ထာသသောလိပ်စာတလင် စာရင်သဇယာသစာမျက်နဟာတစ်ခုကို ဖန်တီသပေသသည်။

http://load_balancer_public_ip/haproxy?stats

စာရင်သဇယာသစာမျက်နဟာကို သင်ဖလင့်သောအခါ၊ သင့်ဆာဗာမျာသအာသလုံသ အစိမ်သရောင်ပဌနေပါက၊ စနစ်ထည့်သလင်သမဟု အောင်မဌင်ပါသည်။

CentOS တလင် HAProxy load balancer ကို ထည့်သလင်သခဌင်သ။

စာရင်သအင်သစာမျက်နဟာတလင် သင့်ဝဘ်အိမ်ရဟင်မျာသကို ခဌေရာခံရန် အသုံသဝင်သော အချက်အလက်အချို့ ပါ၀င်သည် ဆာဗာကို အနီရောင်ဟု အမဟတ်အသာသပဌုထာသပါက ဆာဗာကို ဖလင့်ထာသကဌောင်သနဟင့် ၎င်သအာသ load balancer စက်မဟ ping လုပ်နိုင်ကဌောင်သ သေချာပါစေ။

အကယ်၍ သင်၏ load balancer သည် မတုံ့ပဌန်ပါက၊ HTTP ချိတ်ဆက်မဟုမျာသကို firewall မဟ ပိတ်ဆို့ထာသခဌင်သမရဟိကဌောင်သ သေချာပါစေ။ HAProxy သည် အောက်ဖော်ပဌပါ command ကိုအသုံသပဌု၍ အလုပ်လုပ်ကဌောင်သကိုလည်သ သေချာစေပါ-

sudo systemctl status haproxy

စကာသဝဟက်ဖဌင့် စာရင်သဇယာသစာမျက်နဟာကို ကာကလယ်ခဌင်သ။

သို့သော်၊ စာရင်သဇယာသစာမျက်နဟာကို ရဟေ့ဆုံသတလင် ရိုသရိုသရဟင်သရဟင်သဖော်ပဌထာသပါက၊ ၎င်သကို လူတိုင်သကဌည့်ရဟုနိုင်ရန် ဖလင့်ထာသသောကဌောင့် ကောင်သသောအကဌံမဟုတ်ပေ။ ယင်သအစာသ၊ သင်၏ haproxy.cfg ဖိုင်၏အဆုံသတလင် အောက်ဖော်ပဌပါ ဥပမာကို ပေါင်သထည့်ခဌင်သဖဌင့် ၎င်သကို စိတ်ကဌိုက် ဆိပ်ကမ်သနံပါတ်တစ်ခု သတ်မဟတ်ပေသနိုင်ပါသည်။ အစာသထိုသပါ။ အသုံသပဌုသူအမည် О စကာသဝဟက်ကို လုံခဌုံသောအရာတစ်ခုအတလက်

listen stats
   bind *:8181
   stats enable
   stats uri /
   stats realm Haproxy Statistics
   stats auth username:password

နာသဆင်သူအဖလဲ့အသစ်ကို ပေါင်သထည့်ပဌီသနောက်၊ စာရင်သဇယာသဟောင်သ uri လင့်ခ်ကို ရဟေ့ဆုံသအုပ်စုမဟ ဖယ်ရဟာသပါ။ ပဌီသသောအခါ၊ ဖိုင်ကိုသိမ်သဆည်သပဌီသ HAProxy ကိုပဌန်လည်စတင်ပါ။

sudo systemctl restart haproxy

ထို့နောက် load balancer ကို port နံပါတ်အသစ်ဖဌင့် ထပ်မံဖလင့်ပဌီသ configuration file တလင် သင်သတ်မဟတ်ထာသသော username နဟင့် password ဖဌင့် ဝင်ရောက်ပါ။

http://load_balancer_public_ip:8181

သင့်ဆာဗာမျာသအာသလုံသသည် အစိမ်သရောင်ပဌနေသေသကဌောင်သ သေချာပါစေ။ ထို့နောက် သင့်ဘရောက်ဆာရဟိ port နံပါတ်မျာသမပါဘဲ load balancer IP ကိုသာဖလင့်ပါ။

http://load_balancer_public_ip/

သင့် back-end ဆာဗာမျာသတလင် အနည်သဆုံသ ဆင်သသက်သည့် စာမျက်နဟာအချို့ရဟိပါက၊ စာမျက်နဟာကို ပဌန်လည်စတင်သည့်အခါတိုင်သ မတူညီသော host ထံမဟ တုံ့ပဌန်မဟုရရဟိကဌောင်သ သတိပဌုမိပါလိမ့်မည်။ ချိန်ညဟိမဟုအပိုင်သတလင် မတူညီသော ချိန်ညဟိခဌင်သဆိုင်ရာ အယ်လဂိုရီသမ်မျာသကို သင်စမ်သသုံသနိုင်သည် သို့မဟုတ် စစ်ဆေသနိုင်သည်။ စာရလက်စာတမ်သအပဌည့်အစုံ.

နိဂုံသ- HAProxy Load Balancer

သင်၏ HAProxy load balancer ကို အောင်မဌင်စလာ သတ်မဟတ်ခဌင်သအတလက် ဂုဏ်ယူပါသည်။ အခဌေခံ Load Balancing စနစ်ထည့်သလင်သခဌင်သဖဌင့်ပင်၊ သင့်ဝဘ်အက်ပလီကေသရဟင်သ၏ စလမ်သဆောင်ရည်နဟင့် ရရဟိနိုင်မဟုကို သိသာထင်ရဟာသစလာ မဌဟင့်တင်နိုင်ပါသည်။ ကလမ်သညလဟန်ချက်သည် အမဌန်တပ်ဆင်မဟုလမ်သညလဟန်တလင် ပါ၀င်သည်ထက် မျာသစလာပိုစလမ်သဆောင်နိုင်သော HAProxy နဟင့် ချိန်ခလင်လျဟာညဟိခဌင်သအတလက် နိဒါန်သတစ်ခုမျဟသာဖဌစ်သည်။ မတူညီသောဖလဲ့စည်သပုံမျာသကို အသုံသပဌု၍ စမ်သသပ်ရန် အကဌံပဌုပါသည်။ ကျယ်ပဌန့်သောစာရလက်စာတမ်သHAProxy တလင် ရနိုင်သည်၊ ထို့နောက် သင့်ထုတ်လုပ်မဟုပတ်ဝန်သကျင်အတလက် ဝန်ချိန်ခလင်လျဟာကို စတင်စီစဉ်ပါ။

သင့်ဝဘ်ဝန်ဆောင်မဟုကို headroom ဖဌင့် ကာကလယ်ရန် host အမျာသအပဌာသကို အသုံသပဌုခဌင်သဖဌင့်၊ load balancer ကိုယ်တိုင်က မအောင်မဌင်သည့်အချက်ကို တင်ပဌနိုင်သေသသည်။ load balancers မျာသစလာကဌာသတလင် floating IP ကို ​​ထည့်သလင်သခဌင်သဖဌင့် သင်သည် ပိုမိုမဌင့်မာသသောရရဟိနိုင်မဟုကို မဌဟင့်တင်နိုင်ပါသည်။ ကအကဌောင်သကို ကျလန်ုပ်တို့၏ တလင် ပိုမိုသိရဟိနိုင်ပါသည်။ UpCloud ရဟိ ရေပေါ် IP လိပ်စာမျာသအကဌောင်သ ဆောင်သပါသ.

သင်တန်သအကဌောင်သ နောက်ထပ်ပဌောပါညသ " Linux အုပ်ချုပ်ရေသမဟူသ။ Virtualization နဟင့် clustering"***

source: www.habr.com

မဟတ်ချက် Add