image-not-found
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 สัญชาติไทยรายแรกที่พัฒนามาจาก OpenSource Software ใช้ Load Balancer เพื่อกระจาย workload ช่วยลดปัญาระบบล่ม และเพื่อช่วยเพิ่มประสิทธิภาพการทำงานด้าน IT ให้ดียิ่งขึ้น และมีทีม Support ที่เข้าใจธุรกิจไทย หากสนใจระบบคลาวด์สามารถ ติดต่อเรา 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.