ស្វែងយល់ពី Load Balancing របស់ Nginx Web Server

Words
140
Reading
1 min
Listen
Play
9y

lb_work.png

Load Balancing ជាបច្ចេកទេសមួយដែលត្រូវបានគេប្រើប្រាស់ដើម្បីអោយ Server មួយអាចដំណើរការបានលឿននិងចែករំលែកការងារផ្សេងៗអោយទៅ Server ផ្សេងៗដែលឈរនៅខាងក្រោយទៀត។

អ្វីដែលគួរកត់សំគាល់នោះគឺLoad Balancing វាដើរតួរជា Proxy សម្រាប់រងនូវ request ជាច្រើនមកកាន់វា រួចហើយវាចាប់ផ្តើមគិតមើលថាតើត្រូវបោះអោយ Server ណាធ្វើការងារមួយនេះ ឬ ការងារមួយនោះ។

ថ្ងៃនេះ Techfree និងលើកយកការតម្លើង nginx នៅលើ Server 3 ផ្សេងៗគ្នាដើម្បីធ្វើជា Load Balancing ដូចខាងក្រោមនេះ

Proxy Server: 192.168.1.106
Server 01: 192.168.1.107
Server 02: 192.168.1.108

ដំបូងអ្នកត្រូវតម្លើង nginx នៅលើ Server ទាំង៣ និងត្រូវប្រាកដថា Server nginx របស់អ្នកទាំងអស់ដំណើរការ service ផងដែរ

yum  -y install epel-release
yum  -y  install nginx
systemctl enable nginx
systemctl start nginx

សម្រាប់ Configuration នៅលើ Server 192.168.1.106 ត្រូវសរសេរដូចរូបខាងក្រោមនេះ ដោយសរសេរនៅក្នុង file

vi  /etc/nginx/conf.d/load-balancer.conf 

nginx_load.png

បន្ទាប់មកទៀតអ្នកត្រូវបិទ Code មួយចំនួនរបស់ Default configuration របស់ nginx ផងដែរ នៅក្នុងផ្នែក server

lb_default.png

ពេលនេះអ្នកអាច Restart Service វាបានហើយ ប្រសិនបើសរសេរខុសអ្នកនិងមិនអាចដំណើរការ Service nginx បាននោះទេ ឬអ្នកអាចចូលទៅមើលនៅក្នុង Web Page បានដូចខាងក្រោមនេះ

lb_work (1).png

ពេលបិទ Server 192.168.1.107 វារត់ទៅកាន់ Server 192.168.1.108 វិញម្តង

lb_08.png

ពេលនេះអ្នកអាចដឹងថាវាដំណើរការបានត្រឹមត្រូវហើយ។

លើសពីនេះទៅទៀតអ្នកអាចសរសេរបានដូចខាងក្រោមទៀតផងប្រសិនបើអ្នកចង់អោយ load balancing ធ្វើការងារតាម លក្ខណ្ឌអ្វីមួយដូចជា request ទៅមិនដើរអោយទៅកាន់ Server មួយទៀត ឬ អោយដើរតាមលំដាប់លំដោយ Server។

សម្រាប់ Configuration ខាងក្រោមនេះ ប្រសិនបើ Server ណាមាន weight ធំជាងគេវានិងទទួលការងារញឹកញាប់ជាងគេឬច្រើនជាងគេ

upstream backend {
server 10.1.0.101 weight=4;
server 10.1.0.102 weight=2;
server 10.1.0.103;
}

សម្រាប់ Configuration ខាងក្រោមនេះវិញទៀត មានន័យថា Server ដំណើរការតាមលំដាប់លំដោយ

upstream backend {
ip_hash;
server 10.1.0.101;
server 10.1.0.102;
server 10.1.0.103;
}

nginx មានវិធីសាស្ត្រជាច្រើនទៀតដែលអ្នកអាចស្រាវជ្រាវបន្ថែមបានសម្រាប់ការងារជាក់ស្តែងរបស់អ្នក។

ការប្រើប្រាស់ nginx ប្រើប្រាស់ធ្វើជា load balancing web server វាមានភាពងាយស្រួលជាងការប្រើប្រាស់ apache ព្រោះថា apache ត្រូវការពឹងផ្អែកទៅលើ Service ផ្សេងៗទៀតដូចជា pen, pacemaker, haproxy ជាដើមដើម្បីដើរតួជា proxy។ តែចំពោះ nginx វិញវាមានមុខងារនេះស្រាប់តែម្តងងាយស្រួលធ្វើការព្រមទាំងដំណើរការល្អ។

ប្រភពដើម