อธิบายเรื่องความหน่วงของเครือข่ายทั่วโลก (Global Network Latency Explained)
ความหน่วง (Latency) คือตัวทำลายซอฟต์แวร์สมัยใหม่ ความล่าช้าเพียงมิลลิวินาทีในระดับเครือข่ายอาจส่งผลให้แอปพลิเคชันของคุณเกิดอาการแล็ก (lag) นานหลายวินาที ซึ่งจะทำลายประสบการณ์การใช้งานเครื่องมือแบบเรียลไทม์และการสตรีม AI
วิศวกรส่วนใหญ่มองว่าอินเทอร์เน็ตเป็นเหมือนคลาวด์ที่มหัศจรรย์ แต่ในความเป็นจริงแล้ว มันมีข้อจำกัดทางกายภาพที่ตายตัว
ขีดจำกัดของความเร็วแสง ข้อมูลเดินทางผ่านสายเคเบิลใต้น้ำแบบไฟเบอร์ออปติก แสงเคลื่อนที่ในแก้วได้ช้ากว่าในสุญญากาศ โดยแสงเดินทางผ่านไฟเบอร์ด้วยความเร็วประมาณ 204,500 กม./วินาที
เส้นทางระยะทาง 9,000 กม. ข้ามมหาสมุทรแปซิฟิก จะมีความล่าช้าขั้นต่ำอยู่ที่ 88ms คุณไม่สามารถก้าวข้ามขีดจำกัดนี้ได้ เพราะกฎทางฟิสิกส์เป็นตัวกำหนดเพดานขั้นต่ำของประสิทธิภาพของคุณ
Anycast เทียบกับ Unicast ในเครือข่ายแบบ Unicast เซิร์ฟเวอร์แต่ละเครื่องจะมี IP ที่ไม่ซ้ำกันเพียงหนึ่งเดียว หากผู้ใช้ในลอนดอนเรียกใช้งานเซิร์ฟเวอร์ในนิวยอร์ก แพ็กเก็ต (packets) จะต้องเดินทางเป็นระยะทางไกลผ่านหลาย hops ซึ่งทำให้เกิดความหน่วงสูง
Anycast เข้ามาเปลี่ยนสิ่งนี้ โดยคุณสามารถกำหนด IP เดียวกันให้กับตำแหน่ง Edge หลายแห่งได้
- เราเตอร์จะค้นหาเส้นทางที่สั้นที่สุดโดยใช้ BGP
- แพ็กเก็ตจะถูกส่งไปยังโหนดทางกายภาพที่ใกล้ที่สุด
- การเชื่อมต่อจะเริ่มต้นขึ้นใกล้กับตัวผู้ใช้ สิ่งนี้ช่วยดึงเครือข่ายของคุณให้เข้าใกล้ลูกค้ามากขึ้น
อันตรายจากการสูญเสียแพ็กเก็ต (Packet Loss) ผู้ดูแลระบบหลายคนคิดว่าการสูญเสียแพ็กเก็ตเพียง 1% นั้นไม่เป็นไร แต่สำหรับ API ความเร็วสูง มันคือหายนะ
โปรโตคอล TCP มาตรฐานอย่าง Cubic จะมองว่าการสูญเสียแพ็กเก็ตคือสัญญาณของความแออัด (congestion) อย่างรุนแรง หากแพ็กเก็ตหลุดหาย ระบบจะลดความเร็วลงทันที 30% และหากเกิดการสูญเสียซ้ำๆ จะทำให้การเชื่อมต่อไม่สามารถทำความเร็วสูงสุดได้เลย
หากการเชื่อมต่อเกิด Timeout ระยะเวลาในการรอจะเพิ่มขึ้นเป็นสองเท่าในทุกๆ ครั้ง การสูญเสียเพียงเล็กน้อยอาจทำให้แอปพลิเคชันค้างไปหลายวินาที
วิธีแก้ไข ทีมงานสมัยใหม่ใช้เครื่องมือหลักสองอย่างเพื่อเอาชนะขีดจำกัดเหล่านี้:
- BBR: อัลกอริทึมนี้จะวัดแบนด์วิดท์ (bandwidth) จริง แทนที่จะตอบสนองแบบสุ่มต่อทุกแพ็กเก็ตที่หลุดหาย ช่วยให้ความเร็วมีความเสถียร
- QUIC: โปรโตคอลนี้ทำงานบน UDP ซึ่งช่วยป้องกันไม่ให้แพ็กเก็ตที่หายไปเพียงหนึ่งตัวทำให้การสตรีมข้อมูลอื่นๆ หยุดชะงัก ช่วยแก้ปัญหาอาการค้างที่พบใน TCP แบบดั้งเดิม
การทำความเข้าใจกฎทางฟิสิกส์และกฎการกำหนดเส้นทาง (routing) เหล่านี้ จะช่วยให้คุณสร้างระบบระดับโลกที่ทำงานได้รวดเร็วยิ่งขึ้น