แล้วขั้นตอนการทำงาน หรือ Algorithms ที่เจ้า Load Balancer ใช้ในการกระจายการทำงานให้ Server นั้นมีการทำงานอย่างไร เราไปดูกันค่ะ
1. Least Connection: Load Balancer จะหาเครื่อง Server ที่ว่างงานมากที่สุด (Transaction น้อยที่สุด) เมื่อเจอแล้วก็จะส่ง Request จาก User ให้เครื่อง Server เครื่องนั้นทำงานตอบสนอง User ต่อไป (เป็น Algorithms default ของ Load Balancer)
2. Round Robin: จะเป็นการส่ง Traffic หรือ Request ของ User ไปยัง Server วนไปเรื่อย ๆ เช่น ระบบของเรามีเครื่อง Server อยู่ 2 เครื่อง เมื่อมี Request ที่ 1 เข้ามา Request นี้จะถูกส่งไปยัง Server เครื่องที่ 1 เมื่อมี Request ที่ 2 เข้ามา Request ที่ 2 นี้จะถูกส่งไปยัง Server เครื่องที่ 2 และเมื่อมี Request ที่ 3 เข้ามา ก็จะถูกส่งไปยัง Server เครื่องที่ 1 วนแบบนี้ไปเรื่อย ๆ
3. Random Selection: ใช้วิธีการกระจายงาน หรือ Request ไปยังเครื่อง Backend (คือเครื่องที่ทำหน้าที่รับ Request และ Responding กับ Load Balancer เช่น Web Server) แบบสุ่ม
4. Source IP Hashing: ใช้วิธีการนำ Source IP เข้าไปทำ Hash Function แล้วเราจะได้ IP ที่จะไปต่อ ก็คือ Hash Function จะเป็นตัวบอกว่า Request ที่เข้ามาจะได้ไปที่ Server ตัวไหนนั่นเองค่ะ
• High Ability: ช่วยให้ระบบสามารถทำงาน หรือให้บริการได้อย่างมีประสิทธิภาพมากขึ้น เนื่องจากมีการจัดการ Transaction จาก User ที่ Request เข้ามายังระบบเป็นอย่างดีด้วย Load Balancer ทำให้ช่วยลดอาการ Server ล่ม ช่วยลดเวลา Down time หรือสร้างความ Seamless ในการใช้งานให้กับ User
• เราสามารถทำการ Maintenance Server ขอระบบได้โดยที่ User ไม่ได้รับผลกระทบขณะที่กำลังใช้งาน เรียกได้ว่ามีทั้ง Availability และ Scalability เลยทีเดียว