วิศวกรของ Facebook จัดการเซิร์ฟเวอร์ล้านกว่าตัวในแต่ละวันได้อย่างไร

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

Credit: ShutterStock.com

Facebook ได้พัฒนากระบวนการตั้งค่าแบบใหม่ขึ้นที่ชื่อ Location Aware Delivery (LAD) โดยก่อนหน้านี้บริษัทก็ได้ใช้เครื่องมือ Open-source ที่ชื่อ ‘Zoo Keeper’ เพื่อกระจายข้อมูลการตั้งค่าให้กับเซิร์ฟเวอร์แต่ปัญหาคือมันก็ยังไม่เหมาะสมกับบริษัทขนาดใหญ่อย่าง Facebook นั่นเอง เช่น การจำกัดขนาดของไฟล์ตั้งค่าที่ 5 MB และจำนวนสูงสุดในการกระจายการตั้งค่าได้แค่ 2500 ตัว ลองนึกภาพดูว่าเวลาใช้งานจริงกับบริการอย่าง Messenger ที่ต้องสามารถแก้ไขการตั้งค่าได้ทันทีแถมยังมีการแบ่งเรื่องของภาษาอีกท่ามกลางเซิร์ฟเวอร์หลายล้านตัว ดังนั้นเพื่อเอาชนะอุปสรรคนี้ทีมวิศวกรจึงต้องแก้ไขปัญหา เช่น รับไฟล์ตั้งค่าได้มากกว่า 10 เท่าของ Zoo keeper และ ต้องมี Latency น้อยกว่า 5 วินาที ที่สำคัญต้องทนทานต่อปริมาณทราฟฟิคที่อาจพุ่งขึ้นมหาศาลจากการใช้งานที่พร้อมจะเกิดได้เสมอด้วย

สิ่งที่วิศวกรได้แก้ปัญหาคือ LAD ประกอบด้วย 2 ส่วนคือ Proxy ที่อยู่บนทุกเครื่องและส่งไฟล์ตั้งค่าให้กับเครื่องที่ต้องการ อีกส่วนหนึ่งคือ Distributor (ชื่อเรียกที่อ้างถึงข้อมูลการตั้งค่าที่ถูกนำส่ง) ซึ่งทำหน้าที่เช็คสิ่งที่ต้องอัปเดตใหม่ หากพบก็ใช้กระจายแบบ Tree ไปยังกลุ่มของเครื่องต่างๆ ที่ต้องการอัปเดต โดยในบล็อกของ Facebook ได้เผยว่า “การใช้ Tree ทำให้ LAD สามารถอัปเดตไปยัง Proxy ที่สนใจได้แทนที่จะกระจายไปยังทุกเครื่องทั้งกลุ่ม นอกจากนี้เครื่องแม่จะส่งอัปเดตไปยังเครื่องลูกโดยตรงเพื่อการันตีว่าไม่มีเครื่องใกล้ต้นทางได้รับมากเกินไป

ดังนั้นบริษัทยักษ์ใหญ่จึงสามารถเอาชนะข้อจำกัดของขนาดการตั้งค่าเป็น 100 MB และจากจำนวนสูงสุด 2,500 เครื่องเป็น 40,000 เครื่องแทน แม้ว่าเป็นเรื่องยากแต่ก็จำเป็นเพราะองค์กรที่มีเซิร์ฟเวอร์เยอะขนาดนี้ได้คงมีแค่ไม่กี่ที่ในโลกเท่านั้น ผู้สนใจสามารถติดตามชมใน Blog ของ Facebook แบบเต็มๆ ได้ที่นี่

ที่มา : https://techcrunch.com/2018/07/19/how-facebook-configures-its-millions-of-servers-every-day/



About nattakon

จบการศึกษา ปริญญาตรีและโท สาขาวิศวกรรมคอมพิวเตอร์ KMITL เคยทำงานด้าน Engineer/Presale ดูแลผลิตภัณฑ์ด้าน Network Security และ Public Cloud ในประเทศ ปัจจุบันเป็นนักเขียน Full-time ที่ TechTalkThai

Check Also

การไฟฟ้านครหลวงเปิดโครงการ ‘Smart Metro Grid’ วางโครงสร้างพื้นฐานบน Oracle

เมื่อวันศุกร์ที่ 17 มกราคมที่ผ่านมาได้มีงานแถลงลงนามสัญญาของการไฟฟ้านครหลวงกับ บริษัทยิบอินซอย และฟอร์ทคอร์ปอเรชัน เพื่อดำเนินโครงการเปลี่ยนระบบมิเตอร์วัดไฟฟ้าแบบดิจิทัล ทั้งนี้โครงสร้างพื้นฐานเบื้องหลังคือผลิตภัณฑ์ของ Oracle นั่นเอง

Cisco แจ้งเปลี่ยน AP 87 โมเดลหลังพบปัญหาตั้งแต่ขั้นตอนการผลิต

Cisco ได้ออกมาแจ้งถึงปัญหาของ AP 87 โมเดลซึ่งความผิดพลาดตั้งแต่ขั้นตอนการผลิต โดยอาการคือ Join Controller ไม่ได้หรือใช้สัญญาณวิทยุได้วงเดียว