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

Load balance คืออะไร มีความสำคัญอย่างไรกับแอปพลิเคชันที่ใช้กันอยู่ทุกวัน

Load balance คืออะไร

หากเปรียบเทียบตัว Load balance กับการจัดการกับ Traffic ในการบิน คิดว่าน่าจะเห็นภาพได้ใกล้เคียงมากที่สุด เพราะการดำเนินธุรกิจต่างๆ โดยเฉพาะธุรกิจที่ให้บริการด้านแอปพลิเคชันที่มีผู้ใช้งานเป็นจำนวนมาก ตัว Load balance จะเป็นตัวจัดระบบระเบียบการจราจรของจำนวนผู้ใช้ให้สามารถใช้งานแอปพลิเคชันต่างๆ ได้อย่างไม่มีสะดุด

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

 

Load Balance คืออะไร?

Load balance คือ ระบบกระจาย Request จากการใช้งานของ User ไปยังแอปพลิเคชันหรือเซอร์วิสที่อยู่ในเครื่องเซิร์ฟเวอร์ เพื่อเป็นการช่วยลดภาระของเครื่องและช่วยลดเวลา downtime ของระบบเมื่อเกิดปัญหาในการใช้งานของ User ในปริมาณมาก

 

ทำไมถึงต้องใช้ Load Balance?

จากความต้องการใช้งานที่เพิ่มขึ้น จำเป็นต้องหาวิธีรองรับปัญหาการเกิด Over load จนอาจทำให้เครื่อง web server, application server หรือ database server ล่มหรือไม่สามารถให้บริการได้ ดังนั้น การทำ sever load balance จึงเป็นอีกหนึ่งวิธีที่จะสามารถช่วยแก้ไขปัญหานี้ได้ โดยที่ไม่จำเป็นต้องซื้อเครื่องที่มีสเปคสูงๆ ซึ่งมันมีราคาแพง แต่ในทางกลับกันจะสามารถใช้เครื่องที่มีสเปคเท่าๆ กันหลายเครื่องมาทำงานร่วมกันแทน ทั้งนี้ ในบางกรณีที่ทำ Load balance แล้วระบบจะมีประสิทธิภาพสูงขึ้นและยังมีความเสถียรมากยิ่งขึ้นอีกด้วย

 

Load Balance มีหลักการทำงานอย่างไร?

  1. ผู้ใช้งานต้องทำการ Request ไปที่ Load balance
  2. หลังจากส่ง request ไปแล้ว Load balance จะทำการตรวจสอบ และตัดสินใจเลือกเซิร์ฟเวอร์ที่เหมาะสมในการประมวลผล request
  3. Load balance จะทำการส่ง request ไปยังเซิร์ฟเวอร์ที่ถูกเลือก
  4. เซิร์ฟเวอร์จะทำการประมวลผล request และส่งข้อมูลกลับไปยัง Load balancer
  5. Load balance ก็จะทำการส่งข้อมูลสนองกลับไปยัง User หรือผู้ใช้งาน

 

Load balance มีทั้งหมดกี่ประเภท?

  1. Round Robin - เป็นการกระจานงานตามลำดับคล้ายกับการหมุนเวียน โดยเซิร์ฟเวอร์ทุกตัวจะได้รับ request ตามลำดับ
  2. Least Connections - เป็นการเลือกเซิร์ฟเวอร์ที่มีการเชื่อมต่อน้อยที่สุด สำหรับกรณีที่เซิร์ฟเวอร์มีการทำงานหนัก แต่มีการเชื่อมต่อที่น้อย
  3. IP Hash - เป็นการกระจายงานโดยจะพิจารณาจาก IP Address ของผู้ใช้งาน เพื่อให้เกิดความสมดุลในการใช้งานและการให้บริการ
  4. Session Persistence - เป็นการใช้เซิร์ฟเวอร์เพียงตัวเดียวในการรับผิดชอบขณะที่มีผู้ใช้งานเข้าถึง มักนิยมใช้ในกรณีที่มีความสัมพันธ์กับเซิร์ฟเวอร์เหมือนเดิม

สำหรับประเภทของ Load balance ที่ประหยัดงบและใช้งานง่ายที่สุด คือ Load balance ประเภท Round robin แต่วิธีนี้ก็จะมีข้อเสียอยู่ค่อนข้างมากพอสมควร คือ มันจะไม่สามารถควบคุมการทำงานได้ เนื่องจาก การทำงานด้วยวิธีนี้จะมีแต่การทำ Round robin เพียงเท่านั้น จะไม่กระจายงานไปสู่เซิร์ฟเอร์อื่นๆ ให้เท่าเทียมกันได้

 

ข้อดีของการมี Load Balance

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

  2. เพื่อทำให้แอปพลิเคชันหรือเซอร์วิสมี High Availability (HA) เพิ่มมากขึ้น
    ในการจัดการ traffic ของผู้ใช้งานไปยังแอปพลิเคชั่นโดยการใช้ Load balance เมื่อแอปพลิเคชันบนเซิร์ฟเวอร์ใดเซิร์ฟเวอร์หนึ่งเกิดมีปัญหา จะไม่สามารถให้บริการหรือสามารถใช้งานได้ ตัว Load balance จะทำการ health check เพื่อตรวจสอบและหยุดส่ง traffic ของผู้ใช้งานไปยังแอปพลิเคชั่นที่อยู่บนเซิร์ฟเวอร์ตัวนั้นทันที และจะทำการส่งต่อไปยังแอปพลิเคชันบนเซิร์ฟเวอร์ที่พร้อมให้บริการ ซึ่งวิธีนี้ทำให้การใช้งานแอปพลิเคชันเป็นไปได้อย่างราบรื่นและต่อเนื่อง

  3. Load balance ช่วยเพิ่มความเร็วให้กับแอปพลิเคชันหรือเซอร์วิส
    เนื่องด้วยการทำงานของ Load balance จะทำการกระจาย traffic ของผู้ใช้งานไปยังแอปพลิเคชันที่ทำงานอยู่บนเซิร์ฟเวอร์หลายเครื่อง ทำให้ผู้ใช้งานแอปพลิเคชันไม่ต้องรอคิวหรือรอการโพรเซสข้อมูลที่อาจต้องใช้เวลานาน เหมือนแอปพลิเคชันที่ทำงานกับเซิร์ฟเวอร์เครื่องเดียวที่มี resource อยู่จำกัด ทั้ง CPU, memory และ Hard disk จะทำให้การใช้งานของผู้ใช้งานนั้นเร็วขึ้น สามารถอัปโหลดข้อมูลต่างๆ ได้รวดเร็วมากยิ่งขึ้น รวมไปถึงการเข้าถึงข้อมูลของแอปพลิเคชันก็เร็วขึ้นด้วย

 

ถ้าไม่มี Load Balance จะเป็นอย่างไร?

  1. จะไม่สามารถรองรับการให้บริการ หรือการใช้งานของผู้ใช้งานจำนวนมากได้ เพราะไม่มีการรองรับการขยาย หรือ scale out ของแอปพลิเคชันไปยังเซอร์วิสหลายๆ เครื่องได้

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

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

 

ผู้ที่กำลังมองหา Load balance เน็กซ์เจนขอแนะนำ

  1. Cloud Gateway Ultra : UCG Ultra (Ubiquiti)
    ตัวนี้เป็น gateway รุ่นเล็กแต่ความสามารถไม่ธรรมดา รองรับการเชื่อมต่อ WAN ได้หลายช่องทาง พร้อมกับมีฟีเจอร์ในการรักษาความปลอดภัยและการเราท์ที่ล้ำสมัย โดยสามารถจัดการอุปกรณ์ในเครื่อข่าย UniFi ได้มากถึง 30 ชิ้น เครื่องนี้เหมาะกับการใช้งานในสำนักงานขนาดกลางไปจนถึงขนาดใหญ่ หรือสถานที่ๆ มีความต้องการในการจัดการเครือข่ายแบบครบวงจร

  2. Security Gateway Professional : USG-Pro-4 (Ubiquiti)
    USG-Pro-4 ตัวนี้เกรดพรีเมียม คุณภาพระดับสูงที่มีเทคโนโลนีในการจัดการเส้นทาง และฟังก์ชันความปลอดภัยสำหรับเครือข่ายได้อย่างมีประสิทธิภาพ พอร์ต Dual-WAN สำหรับการทำ Load balancing และ failover ช่วยเพิ่มความน่าเชื่อถือให้กับเครือข่าย เหมาะกับเครือข่ายขนาดใหญ่

 

หากคุณผู้อ่านสนใจสั่งซื้ออุปกรณ์ต่างๆ ที่เกี่ยวกับเราท์เตอร์ wifi สามารถมาปรึกษากับเราได้ บริษัท เน็กซ์เจนไอที จำกัด เราเป็นตัวแทนจำหน่าย Ruijie Reyee, UBiquiti และ Mikro Tik และสินค้าอีกหลากหลาย อาทิ เราท์เตอร์ แอคเซสพอต์ เกทเวย์ ไวไฟ ไฟร์วอลล์ และ Load balance คุณภาพมาตรฐาน เรายินดีให้คำปรึกษากับทุกธุรกิจของคุณ สินค้าทุกชิ้นมีการรับประกันและมีบริการหลังการขาย

 

ติดต่อสอบถาม
บริษัท เน็กซ์เจนไอที จำกัด (สำนักงานใหญ่)
225 ถนนพิบูลสงคราม ตำบลสวนใหญ่
อำเภอเมืองนนทบุรี จังหวัดนนทบุรี 11000
LINE ID : @NEXTGENIT
HOTLINE : 080-9879879