load balancing คือ การแบ่งจากจำนวนรวมของงานที่คอมพิวเตอร์ต้องทำระหว่างคอมพิวเตอร์สองเครื่องหรือมากกว่า หรือ อาจเรียกว่าเป็นการช่วยแบ่งงานที่เข้ามาจาก User ให้กระจายไปในกลุ่มของ Server ดังนั้นจึงทำงานได้มากกว่าในเวลาเท่ากัน และโดยทั่วไปผู้ใช้ทั้งหมดได้รับบริการเร็วขึ้น load balancing สามารถใช้กับฮาร์ดแวร์ ซอฟต์แวร์ หรือการผสมทั้งคู่ นอกจากนี้ยังมีคุณสมบัติของ Fail Over คือหากมีคอมพิวเตอร์ภายในกลุ่มไม่สามารถทางานได้ เช่น Down อยู่ หรือไม่สามารถรับงานหรือ user เพิ่มได้เนื่องจาก Resource ที่ใช้ทำงานไม่พอ ตัว Load Balancing ที่เป็นตัวแจก Load ให้คอมพิวเตอร์ภายในกลุ่มก็จะส่ง load ไปยังคอมพิวเตอร์เครื่องอื่นๆแทน จนกว่าคอมพิวเตอร์เครื่องนั้นจะกลับมาใช้งานได้ใหม่

 

ตัวอย่าง load balancing

 

การทำงานของ Load Balancer นั้นมี 3 ลักษณะด้วยกันได้แก่

1. Round-robin เป็นการส่ง traffic ไปยัง Server ภายในกลุ่มวนไปเรื่อยๆ
2. Sticky เป็นการส่ง traffic โดยยึดติดกับ Session ที่ user เคยเข้าไปใช้งาน เช่น ถ้า user เคยเข้าไปใช้ใน server ที่ 1 ภายในกลุ่ม traffic ของ user คนนั้นก็จะถูกส่งไปยัง server 1 เท่านั้น
3. Work load เป็นการส่ง traffic โดยดูที่ performance ของ server ภายในกลุ่มเป็นสำคัญ เช่นหาก server 1 มีงานมากกว่า server 2 ตัว load balancer ก็จะส่ง traffic ไปยัง server 2

ข้อดีของ load balancing

1.ช่วยเพิ่มความเร็วของระบบ เช่น ทำให้การโหลดข้อมูลจากเว็บเร็วขึ้น
2.ป้องกันปัญหาเน็ตล้ม เพราะหาก Serverตัวหนึ่งล้ม  จะ Serverอีกตัวมาทำงานแทนทันที
3.รองรับการใช้งานของ User จำนวนมากได้ดี

ข้อเสียของ load balancing

หาก Load Balancer เกิดล่มขึ้นมา User จะไม่สามารถเข้ามาใช้งานระบบได้เลย ดังนั้นจะต้องมีการทำ Backup สำหรับ Load Balancer ด้วย ซึ่งจะทำให้สิ่นเปลื้องค่าใช้จ่ายเพิ่มขึ้นอีก

 

ข้อมูลอ้างอิง :http://www.mindphp.com/