Nhìn lại sự cố GitHub ngày 17/8 và lộ trình nâng cấp hạ tầng trong tương lai
GitHub vừa có những chia sẻ thẳng thắn về sự cố gián đoạn dịch vụ kéo dài gần 8 tiếng vào ngày 17/8 vừa qua, đồng thời công bố kế hoạch đẩy mạnh năng lực hạ tầng để đáp ứng sự tăng trưởng đột biến...
- Giọng nữ Bắc
Vào ngày 17/8, GitHub đã trải qua một sự cố gián đoạn dịch vụ kéo dài 7 giờ 47 phút, gây ảnh hưởng nghiêm trọng đến hàng loạt tính năng quan trọng như xác thực, GitHub Actions, API, pull requests, issues và cả GitHub Copilot. Đây là sự cố lớn thứ hai trong tháng 8, sau một lỗi liên quan đến Actions vào ngày 6/8.
Nguyên nhân gốc rễ: Vấn đề về khả năng mở rộng
Theo điều tra của đội ngũ kỹ thuật, sự cố bắt nguồn từ việc lưu lượng truy cập đạt đỉnh mới, khiến một thành phần hạ tầng quan trọng tại trung tâm dữ liệu ở miền Trung nước Mỹ không thể mở rộng kịp thời. Áp lực này lan rộng ra toàn hệ thống, gây lỗi xác thực và làm tê liệt nhiều dịch vụ.
Đáng chú ý, quá trình khôi phục gặp khó khăn do các dịch vụ Copilot kích hoạt cơ chế tự động thử lại (retry loop) ở phía client, tạo thêm áp lực lưu lượng lên hệ thống đang quá tải. GitHub khẳng định cả hai sự cố trong tháng 8 đều không xuất phát từ thay đổi mã nguồn hay cấu hình, mà thuần túy là vấn đề về khả năng đáp ứng tải khi số lượng commit hàng tháng tăng vọt từ 1,4 tỷ lên 2,9 tỷ kể từ tháng 4.
Lộ trình khắc phục và nâng cấp hạ tầng
Để đảm bảo tính ổn định, GitHub đang tập trung vào ba ưu tiên: bổ sung năng lực phần cứng, tối ưu hóa hiệu suất và loại bỏ các nút thắt kiến trúc. Cụ thể:
- Tăng cường tài nguyên: Bổ sung hơn 3 triệu nhân CPU, 120 petabyte lưu trữ tốc độ cao và mở rộng dung lượng mạng.
- Di chuyển sang Azure: Hiện tại, Azure đã đảm nhận khoảng 58% tải của nền tảng GitHub, tăng mạnh so với mức 12% hồi tháng 5.
- Cô lập hệ thống: Đội ngũ kỹ thuật đang tiến hành tách biệt các hệ thống quan trọng để giảm thiểu nguy cơ lỗi dây chuyền.
GitHub cũng đã áp dụng các thay đổi tức thì sau sự cố, bao gồm thiết lập giới hạn retry nhất quán, ngân sách retry và các ngưỡng timeout linh hoạt giữa các dịch vụ để ngăn chặn tình trạng “retry storm”.
CTO của GitHub, Vladimir Fedorov, nhấn mạnh rằng sự tin tưởng của cộng đồng lập trình viên là ưu tiên hàng đầu. Công ty cam kết sẽ đẩy nhanh tiến độ nâng cấp hạ tầng để đảm bảo GitHub luôn là nền tảng đáng tin cậy cho việc xây dựng và vận hành phần mềm toàn cầu.
Nguồn tham khảo: GitHub Blog

No Comment! Be the first one.