Tech Knowledge

ทำความรู้จัก Load Balancer ตัวช่วยสำคัญจัดการระบบเซิร์ฟเวอร์

Published : August 11, 2022Time : 2 min read

Load Balancer คืออะไร ? ทำไมถึงสำคัญ

Load Balancer ทำหน้าที่กระจายปริมาณการใช้งานหรือโหลดให้กับเซิร์ฟเวอร์หลายๆ เครื่องในระบบอย่างสมดุลและมีประสิทธิภาพ โดยช่วยป้องกันการทำงานหนักเกินไปของเซิร์ฟเวอร์เครื่องใดเครื่องหนึ่งและช่วยลดโอกาสที่เซอร์วิสไม่พร้อมให้บริการ อีกทั้ง Load Balancer เพิ่มความพร้อมใช้งาน (High Availability) และประสิทธิภาพ (Performance) ของระบบโดยรวม

การทำงานของ Load Balancer

การทำงานของ Load Balancer มี 4 ขั้นตอนง่ายๆ ดังนี้

1.รับคำขอจากผู้ใช้งาน : Load Balancer จะเป็นตัวกลางที่รับคำขอจากผู้ใช้งาน เช่น คำขอ HTTP, HTTPS, หรือโปรโตคอลอื่น ๆ

2.กระจายโหลดไปยังเซิร์ฟเวอร์ในกลุ่ม : เมื่อรับคำขอแล้ว Load Balancer จะส่งคำขอไปยังเซิร์ฟเวอร์ที่เหมาะสมในกลุ่มเซิร์ฟเวอร์ (Server Pool) เช่น

- Round Robin : กระจายคำขอไปยังเซิร์ฟเวอร์แต่ละเครื่องทีละรอบ

- Least Connections : ส่งคำขอไปยังเซิร์ฟเวอร์ที่มีการเชื่อมต่อน้อยที่สุด

- Source IP : ใช้ที่อยู่ IP ของผู้ใช้งานเพื่อกำหนดว่าจะส่งคำขอไปยังเซิร์ฟเวอร์เครื่องใด

- Weighted Distribution : ใช้น้ำหนักของแต่ละเซิร์ฟเวอร์ในการกระจายโหลด

3.ตรวจสอบสถานะของเซิร์ฟเวอร์ : Load Balancer จะตรวจสอบสถานะของเซิร์ฟเวอร์ (Health Check) ในกลุ่มเพื่อให้แน่ใจว่าเซิร์ฟเวอร์พร้อมให้บริการ ถ้าเซิร์ฟเวอร์เครื่องใดล่มหรือไม่ตอบสนอง คำขอจะไม่ถูกส่งไปยังเซิร์ฟเวอร์นั้น

4.ตอบกลับผู้ใช้งาน : เมื่อเซิร์ฟเวอร์ที่ได้รับคำขอประมวลผลเสร็จสิ้น Load Balancer จะส่งผลลัพธ์กลับไปยังผู้ใช้งาน

Load Balancer action

ประเภทของ Load Balancer

ประเภทของ Load Balancer สามารถจำแนกได้สามประเภทหลักๆ ขึ้นอยู่กับสิ่งที่ Load Balancer ตรวจสอบในคำขอของผู้ใช้

1. Application Load Balancing : ทำงานในระดับ Application Layer (OSI Layer 7) ซึ่งจะทำให้สามารถเข้าถึงข้อมูลของ request อยู่ในระดับเดียวกันกับที่ application ใช้งาน และจะดูที่เนื้อหาคำขอเช่น URL, Cookies, HTTP Headers หรือรหัส SSL

2. Network Load Balancing : ทำงานในระดับ Transport Layer (OSI Layer 4) ซึ่งจะใช้ข้อมูลจาก TCP/UDP Header เช่น IP Address และ Port ในการตัดสินใจว่าจะส่งคำขอไปยังเซิร์ฟเวอร์ใด

3. Global Load Balancing : เกิดขึ้นในเซิร์ฟเวอร์กระจายตามภูมิภาคหลายแห่ง ช่วยเรื่องการส่ง request ที่เข้ามาข้าม network ไปอยู่ในภูมิภาคที่เหมาะสม เพื่อลด latency ของการเดินทางของข้อมูลที่ไกล

Load Balancer ช่วยแก้ปัญหาอะไรได้บ้าง

  1. เพิ่มประสิทธิภาพให้ระบบแอปพลิเคชันหรือเซอร์วิส โดยสามารถ scale out ด้วยการทำ load balancing

ในกรณีที่ต้องการรองรับการใช้งานของยูสเซอร์ที่มีจำนวนมากขึ้น เราสามารถที่จะเพิ่มจำนวนของแอปพลิเคชันหรือเซอร์วิสโดยการเพิ่มจำนวนของเซิร์ฟเวอร์ และกำหนดอัลกอริทึมสำหรับจัดการทราฟฟิกการใช้งานของยูสเซอร์ให้สอดคล้องกับ resource ของเซิร์ฟเวอร์นั้น ๆ ได้

  1. ทำให้แอปพลิเคชันหรือเซอร์วิสมี High Availability (HA) มากขึ้น

การใช้ load balancer ในการจัดการทราฟฟิกการใช้งานของยูสเซอร์ไปยังแอปพลิเคชันที่อยู่หลาย ๆ เซิร์ฟเวอร์นั้น เมื่อแอปพลิเคชันบนเซิร์ฟเวอร์ใดๆ เกิดปัญหา ไม่สามารถให้บริการหรือสามารถใช้งานได้ load balancer จะมีการ health check เพื่อตรวจสอบ และหยุดส่งทราฟฟิกของยูสเซอร์ไปยังแอปพลิเคชันที่อยู่บนเซิร์ฟเวอร์นั้นทันที และส่งต่อไปยังแอปพลิเคชันบนเซิร์ฟเวอร์ที่พร้อมให้บริการ ซึ่งทำให้แอปพลิเคชันสามารถให้บริการและใช้งานได้อย่างต่อเนื่อง

  1. ช่วยเพิ่มความเร็วของแอปพลิเคชันหรือเซอร์วิส

เนื่องจาก load balancer ทำการกระจายทราฟฟิกของยูสเซอร์ไปยังแอปพลิเคชันที่ทำงานอยู่บนเซิร์ฟเวอร์หลาย ๆ เครื่อง ทำให้การใช้งานของยูสเซอร์ไม่ต้องรอคิวหรือรอการโพรเซสข้อมูลที่ต้องใช้เวลานานเหมือนกับแอปพลิเคชันที่ทำงานอยู่บนเซิร์ฟเวอร์เครื่องเดียวที่มี resource อยู่อย่างจำกัดทั้ง CPU เมมโมรี และฮาร์ดดิสก์ ทำให้การใช้งานของยูสเซอร์เร็วขึ้น เช่น สามารถอัปโหลด-ดาวน์โหลดข้อมูลรูปภาพจากเว็บไซต์ได้เร็วขึ้น การเข้าถึงข้อมูลของแอปพลิเคชันได้เร็วขึ้น เป็นต้น

การเลือก Load Balancer ที่เหมาะสม

Load Balancer เป็นหัวใจสำคัญในการสร้างระบบที่มีความพร้อมใช้งานสูง (High Availability) และรองรับการใช้งานที่มีปริมาณมาก โดยช่วยให้ระบบสามารถทำงานได้อย่างเสถียร มีประสิทธิภาพ และตอบสนองความต้องการของผู้ใช้งานในทุกสถานการณ์

สำหรับใครที่อ่านมาถึงตรงนี้และกำลังมองหาโซลูชัน Load Balancer ปัจจุบันเรามี Application Load Balancing พร้อมให้บริการแล้ว เราคือผู้ให้บริการคลาวด์รายแรกในประเทศไทย ที่ให้บริการ Cloud Solution ให้กับองค์กรเพื่อช่วยเพิ่มประสิทธิภาพการทำงานด้านไอทีให้ดียิ่งขึ้น หากสนใจระบบคลาวด์สามารถ ติดต่อเรา NIPA Cloud ได้ที่นี่

เริ่มต้นการย้ายข้อมูลสู่ระบบคลาวด์กับ NIPA Cloud วันนี้ เรายินดีให้คำปรึกษาแก่ทุกองค์กร
AUTHOR
Author
NIPA Cloud
Writer

We—as a team of Thai people—are assured that Thai cloud is the absolute answer for driving your business in the digital era.