Tuesday, January 8, 2019

How to fail-over & load balancing your web servers

ကျွန်တော်တို့ network ထဲမှာ web server ကြီးတစ်လုံးရှိတယ်...system resources တွေဘယ်လောက်ပဲ ကောင်းကောင်း( CPU, memory, Storage, Network,...) တကယ်တမ်း production run တဲ့အခါ concurrent session တွေအများကြီး...bulk requests တွေကို process မလုပ်နိုင်တော့တဲ့အခါအဲဒီ web server ကြီးလစ်သွားမှာပါ..
ဒီတော့ဒီလိုတွေမဖြစ်အောင်ဘယ်လိုလုပ်သင့်သလဲ

ကျွန်တော့်ရဲ့ Lab မှာ ကျွန်တော့်ရဲ့ backend web server cluster ကိုဒီလိုလေး configure လုပ်ထားပါ တယ်....user request လာမယ့်...web proxy server ( 47.251)ရှိတယ်...သူ့ နောက်မှာမှ web server-1(47.253) ရှိတယ်...web server-2(47.252) ရှိတယ်........


ကဲ...ကျွန်တော်တို့ က web server-2(47.252) ကိုခဏထားထားပြီးတော့ web proxy server(47.251)နဲ့ web server-1(47.253) နှစ်ခုကို connect လုပ်ထားပါတယ်.... တကယ်လို့ user PC ကနေ http://web-proxy-IP လို့ ပဲခေါ်ခေါ်....http://web-server-1 လို့ ပဲခေါ်ခေါ်...web service ရရပါမယ်...

ကျွန်တော်ရဲ့ configuration မှာ proxy ကိုပဲခေါ်ခေါ်...web server-1 ကိုပဲခေါ်ခေါ်...ဒီ web service ကို reply လုပ်မယ်ဆိုတဲ့အတွက် web service ရနေတာပါ.....တကယ်လို့အကြောင်းတစ်စုံတရာကြောင့် ကျွန်တော့်ရဲ့ web server-1 က down သွားတယ်...ဒါဆိုရင်ဘယ်လိုဖြစ်မလဲ

ဒါကြီးပေါ်လာပါပြီ.... proxy ကနေ web server down သွားတဲ့အတွက် traffic လည်းမသွားသလို Bad Gateway error တက်လာပါတယ်...ဒီတော့ကျွန်တော်တို့က web server-2(47.252) ရှိမယ်ဆိုရင် user request တွေအားလုံးဟာ Web-Server-2 ကို forward ဖြစ်သွားပါလိမ့်မယ်....

အခုချိန်မှာလာသမျှ traffic တွေအကုန်လုံးသည် web server-2 ဆီကိုပဲသွားပါလိမ့်မယ်....ဒီတော့ web service unavailable မဖြစ်တော့ဘူးပေါ့ဗျာ...တစ်ခါတစ်လေ..သင်က web server-1 မှာ maintenance လုပ်နေတယ်...user တွေကို 502 Bad Gateway error ကြီးပေးမြင်တာထက်ကို ဒီလိုလေးလုပ်ထားတော့ ပိုအဆင်ပြေတာပေါ့......


တကယ်လို့ web server-1 ကြီးပြန်တက်လာပြီဆိုရင်ကျွန်တော်တို့က proxy server မှာ config နည်းနည်းပြင်လိုက်ရင် traffic load balancing ဖြစ်သွားပါပြီ....ဒီတော့ကျွန်တော်တို့ တွေသည် bulk web traffic တွေကို concurrently process လုပ်သွားနိုင်ပြီပေါ့


( * မှတ်ချက်....အခုကကျွှန်တော့် lab ထဲမှာမို့ လိုသာ proxy IP ခေါ်ခေါ်...web server IP ခေါ်ခေါ်ကြည့်လို့ ရတာ....တကယ့် Production run မယ်ဆိုရင်တော့ proxy IP နဲ့ ပဲအလုပ်လုပ်မှာပါ...external user တွေကလည်း proxy IP နဲ ့ပဲ web service တွေကိုခေါ်သုံးမှာပါ ...ဒီတော့ကျွန်တော်တို့ တွေ manage လုပ်ရမှာ ဒီ server cluster ကြီးတစ်ခုလုံးပါပဲ)


အားလုံးပဲပညာဗဟုသုတကြွယ်ဝတိုးတက်ကြပါစေ...


လေးစားစွာဖြင့်

PhyoSithu
B.Sc(Physics)
Diploma in IT 
Red Hat - RHCSA
EC-Council- CEH

No comments:

ping script ေလးနဲ့ အထာကျကျကိုယ့် server ေလးတွေအခြေအနေကိုစစ်ကြမယ်....

ပုံမှန်အားဖြင့်ကျွန်တော်တို့ဟာ ping command ကိုအသုံးပြုပြီးတော့ ကိုယ့်စက်ရယ်...ကိုယ့် network ထဲမှာ internet connection ရမရစစ်ဆေးလေ့ရှိကြပါတ...