Network Load Balancing (NLB) คือเทคนิคหรือกระบวนการที่ใช้ในการกระจายโหลด (ภาระงาน) ของเครือข่ายหรือเซิร์ฟเวอร์หลายตัวให้ทำงานร่วมกันอย่างมีประสิทธิภาพและลดภาระของเครื่องใดเครื่องหนึ่งโดยเฉพาะ ซึ่งช่วยเพิ่มประสิทธิภาพ ความเสถียร และความทนทานของระบบ
NLB ทำงานโดยมีอุปกรณ์หรือซอฟต์แวร์ที่เรียกว่า Load Balancer ทำหน้าที่เป็นตัวกลางระหว่างผู้ใช้ (Client) และเซิร์ฟเวอร์ปลายทาง (Backend Servers) เพื่อกระจายปริมาณคำขอ (Requests) ไปยังเซิร์ฟเวอร์หลายตัวตามอัลกอริธึมที่กำหนด
ประโยชน์ของการทำ Network Load Balancing
1. เพิ่มประสิทธิภาพของระบบ (Performance Improvement)
2. เพิ่มความทนทานของระบบ (High Availability - HA)
3. รองรับการขยายตัวของระบบ (Scalability)
4. เพิ่มความปลอดภัยของระบบ (Security Enhancement)
5. จัดการทรัพยากรเซิร์ฟเวอร์ให้มีประสิทธิภาพ (Resource Optimization)
การทำงานของ Network Load Balancing มีขั้นตอนดังนี้
1. Client ส่งคำขอไปยัง Load Balancer
2. Load Balancer กระจายโหลดไปยังเซิร์ฟเวอร์ที่เหมาะสม
3. เซิร์ฟเวอร์ที่ได้รับเลือกตอบกลับไปยัง Client
ประเภทของการทำ Load Balancing แบ่งออกเป็น 3 ประเภทหลัก ได้แก่
1. DNS Load Balancing
✅ใช้ DNS Server ในการแจกจ่ายโหลดไปยังเซิร์ฟเวอร์ที่แตกต่างกัน
✅มีข้อจำกัดตรงที่ DNS Caching อาจทำให้เกิดความล่าช้า
2. Hardware Load Balancer
✅ใช้อุปกรณ์เฉพาะทาง เช่น F5, Citrix NetScaler หรือ A10 Networks
✅มีประสิทธิภาพสูงและรองรับทราฟฟิกปริมาณมาก
3. Software Load Balancer
✅ใช้ซอฟต์แวร์เช่น HAProxy, Nginx, Apache mod_proxy_balancer หรือ Cloud Load Balancer
✅เหมาะกับองค์กรขนาดเล็กถึงกลางเพราะประหยัดค่าใช้จ่าย