อ่านประมาณ 8 นาที
ระดับกลาง
หมวด: คลาวด์
อ้างอิง: GitHub Blog
เมื่อเอเจนต์ AI เริ่มเขียนและส่งโค้ดแทนคน ทราฟฟิก Git ของ GitHub โตแบบทวีคูณจนใกล้ชนเพดานกำลังไฟของศูนย์ข้อมูลเดิม GitHub เล่าว่าย้ายสำเนาของ repository เกือบทั้งหมดไปไว้บน Azure แล้ว และกำลังเปลี่ยนสถาปัตยกรรมให้รับงานเขียนได้มากขึ้น 3-4 เท่า บทความนี้สรุปแนวคิดหลักที่ทีมพัฒนาระบบทั่วไปนำไปใช้ได้ ตั้งแต่ลำดับการย้ายระบบที่ลดความเสี่ยง ไปจนถึงการลดงานที่ต้องเข้าคิวรอกันโดยไม่จำเป็น
ทำไมต้องย้าย และย้ายไปถึงไหนแล้ว
Git เป็นบริการชั้นล่างสุดที่เกือบทุกอย่างบน GitHub พึ่งพา GitHub โฮสต์ราวหนึ่งพันล้าน repository และระบบกลางชื่อ Spokes รับงานเกินแสนล้านคำสั่งต่อวัน เมื่อทราฟฟิกโตเร็วจนใกล้ขีดจำกัดของไฟฟ้าและห่วงโซ่อุปทานฮาร์ดแวร์ ทีมจึงต้องย้ายข้อมูลไปคลาวด์ ปัจจุบัน 99.99999% ของ repository มีสำเนาอยู่บน Azure แล้ว repository ส่วนใหญ่มีสำเนาห้าชุด สองชุดอยู่บน Azure และ Azure รับทราฟฟิก Git ราวครึ่งหนึ่ง
ย้ายข้อมูลก่อน แล้วค่อยเปลี่ยนสถาปัตยกรรม
ทีมตัดสินใจไม่เปลี่ยนสองอย่างพร้อมกัน คือที่ตั้งของระบบกับวิธีเก็บข้อมูล เพราะที่ขนาดนี้ความเสี่ยงสูงเกินไป จึงเริ่มจากย้ายสำเนาข้อมูลทีละ repository แล้วให้ทราฟฟิกตามข้อมูลไปเอง ระบบเลือกส่งคำขอไปยังสำเนาที่อยู่ภูมิภาคเดียวกันก่อน เมื่อสำเนาย้ายไปมากขึ้น ทราฟฟิกก็ค่อย ๆ ไหลไป Azure จนภูมิภาคเดิมว่าง แนวคิดนี้ใช้ได้กับการย้ายระบบทุกขนาด คือแยกการเปลี่ยนแปลงใหญ่ออกเป็นขั้นที่ย้อนกลับได้
quorum รายสาขา: เลิกให้งานที่ไม่เกี่ยวกันต้องรอกัน
เดิมการเขียนข้อมูลลง repository หนึ่งต้องเข้าคิวผ่านล็อกเดียวทั้ง repository (quorum คือการให้สำเนาส่วนใหญ่ยืนยันตรงกันก่อนถือว่าเขียนสำเร็จ) สำเนาที่ช้าที่สุดจึงกำหนดความเร็วของทุกคน ระบบใหม่ย้ายการยืนยันลงไปที่ระดับ reference แต่ละตัว เช่น แต่ละ branch หรือ tag การ push เข้า branch ต่างกันจึงไม่ต้องรอกันอีก มีเพียงการเขียน branch เดียวกันเท่านั้นที่ต้องเข้าคิว ซึ่งตรงกับกติกาความถูกต้องของ Git ที่คิดเป็นราย reference อยู่แล้ว ในการทดสอบภายในด้วยทราฟฟิกที่ใกล้จริง การเขียนคนละ reference ทำได้มากขึ้น 3-4 เท่าและเร็วขึ้น
ตัวเลขสำคัญจากบทความต้นฉบับ| เรื่อง | ตัวเลข |
|---|
| repository ที่มีสำเนาบน Azure | 99.99999% |
| สัดส่วนทราฟฟิก Git ที่ Azure รับ | ราวครึ่งหนึ่ง |
| ระยะเวลาเดินทางของข้อมูลต่อรอบระหว่างศูนย์ข้อมูล | ราว 25 มิลลิวินาที (ห่างราว 1,600 กิโลเมตร) |
| อัตราการอ่านต่อการเขียนของ repository ส่วนใหญ่ | 100 ถึง 1,000 ครั้งต่อหนึ่งการเขียน |
| ปริมาณการเขียนเมื่อใช้ quorum รายสาขา | มากขึ้น 3-4 เท่า |
แยกที่เก็บข้อมูลออกจากเครื่องประมวลผล
ข้อมูลของ repository ถูกเก็บถาวรใน Azure Blob Storage แล้วใช้สำเนาเสมือนสองแบบ แบบแรกเป็นสำเนาสำหรับเขียน ทำหน้าที่เป็นสะพานส่งข้อมูลลงที่เก็บถาวร และจะตอบว่าเขียนสำเร็จก็ต่อเมื่อข้อมูลบันทึกถาวรแล้วเท่านั้น แบบที่สองเป็นสำเนาสำหรับอ่านที่เพิ่มจำนวนได้ตามความต้องการ ดึงข้อมูลจากที่เก็บถาวรมาไว้ในแคชแล้วตอบคำขออ่าน เพราะ repository ส่วนใหญ่ถูกอ่านมากกว่าเขียนหลายร้อยเท่า การแยกแบบนี้ทำให้ขยายฝั่งอ่านได้โดยไม่กระทบฝั่งเขียน ในการทดสอบ เครื่องมือยิงโหลดถึงขีดจำกัดของตัวเองก่อนสำเนาสำหรับอ่านด้วยซ้ำ
บทเรียนที่ทีมพัฒนาทั่วไปนำไปใช้ได้
- เรียงลำดับการเปลี่ยนแปลงที่เสี่ยง ย้ายข้อมูลก่อน เปลี่ยนสถาปัตยกรรมทีหลัง และทำทีละส่วนที่ย้อนกลับได้
- ล็อกให้แคบที่สุด งานที่ไม่ต้องเรียงลำดับกันไม่ควรถูกบังคับให้รอกัน
- แยกที่เก็บข้อมูลออกจากเครื่องประมวลผล เพื่อขยายฝั่งอ่านและฝั่งเขียนได้อิสระ
- เผื่อผลกระทบลำดับถัดไป เช่น การบีบอัดข้อมูลและการเก็บกวาด ก็ต้องขยายตามด้วย
GitHub บอกว่าปัญหาถัดไปคือขีดจำกัดของการเขียน เพราะแต่ละการเขียนยังต้องรอสำเนาที่เก็บข้อมูลเต็มชุด ทั้งที่ข้อมูลส่วนใหญ่ของ Git ไม่เปลี่ยนแปลงและไม่ต้องเรียงลำดับ บทความตอนสุดท้ายของชุดนี้จะเล่าผลในงาน GitHub Universe ปลายเดือนตุลาคม 2026
ระบบของธุรกิจไทยอาจไม่ได้ใหญ่ระดับนี้ แต่ปัญหาเดียวกันเกิดได้เมื่อผู้ใช้เพิ่มขึ้นหลายเท่าในช่วงสั้น ๆ เช่น ช่วงโปรโมชันหรือเมื่อเริ่มให้ระบบอัตโนมัติเรียกใช้งาน อ่านกรณีที่เกี่ยวข้องได้ที่บทเรียนจากเหตุ GitHub ขัดข้องเดือนสิงหาคม 2026 ทีมงาน Smart Cyber Tech ออกแบบระบบคลาวด์ที่ขยายตัวได้เมื่อผู้ใช้เพิ่มหลายเท่า ปรึกษาได้ที่ แบบฟอร์มติดต่อ
สรุปสาระสำคัญ
- ทำไมต้องย้าย และย้ายไปถึงไหนแล้ว
- ย้ายข้อมูลก่อน แล้วค่อยเปลี่ยนสถาปัตยกรรม
- quorum รายสาขา: เลิกให้งานที่ไม่เกี่ยวกันต้องรอกัน
แหล่งอ้างอิงเรียบเรียงจาก GitHub Blog —
อ่านบทความต้นฉบับภาพปก: GitHub Blog · ลิขสิทธิ์ภาพเป็นของเจ้าของต้นฉบับ ใช้ประกอบการรายงานพร้อมอ้างอิงแหล่งที่มา
มีคำถามเพิ่มเติมเกี่ยวกับบทความนี้? เขียนหาเราได้ที่
info@smart-cyber-tech.com
บริการที่เกี่ยวข้องจากทีมงาน Smart Cyber Tech
แบ่งปันบทความนี้:
LINE
Facebook
X
ปรึกษาทีมของเรา