ស្វែងយល់ពី Load Balancing របស់ Nginx Web Server
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 ។
បន្ទាប់មកទៀតអ្នកត្រូវបិទ Code មួយចំនួនរបស់ Default configuration របស់ nginx ផងដែរ នៅក្នុងផ្នែក server
ពេលនេះអ្នកអាច Restart Service វាបានហើយ ប្រសិនបើសរសេរខុសអ្នកនិងមិនអាចដំណើរការ Service nginx បាននោះទេ ឬអ្នកអាចចូលទៅមើលនៅក្នុង Web Page បានដូចខាងក្រោមនេះ
ពេលបិទ Server 192.168.1.107 វារត់ទៅកាន់ Server 192.168.1.108 វិញម្តង
ពេលនេះអ្នកអាចដឹងថាវាដំណើរការបានត្រឹមត្រូវហើយ។
លើសពីនេះទៅទៀតអ្នកអាចសរសេរបានដូចខាងក្រោមទៀតផងប្រសិនបើអ្នកចង់អោយ 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 វិញវាមានមុខងារនេះស្រាប់តែម្តងងាយស្រួលធ្វើការព្រមទាំងដំណើរការល្អ។