Đây là tình huống mà mọi sản phẩm video ở Việt Nam sớm muộn đều gặp: hệ thống giám sát của bạn xanh, dashboard CDN của bạn xanh, và một nửa người dùng của bạn trên một nhà mạng đang nhìn chằm chằm vào vòng xoay loading. Không có gì "sập" theo nghĩa thông thường. Tuyến đường giữa nhà mạng đó và edge của CDN của bạn đơn giản là đã suy giảm — và với một CDN duy nhất, bạn không còn nước đi nào. Đây là bài toán độ tin cậy chủ lực mà chúng tôi giải cho các khách hàng phục vụ video đến khán giả Việt Nam, và nó cần một kiến trúc, không phải một ticket hỗ trợ.
Ba kiểu hỏng hóc đặc thù khi phục vụ Việt Nam
1. Đứt cáp quang biển
Băng thông quốc tế của Việt Nam chạy trên một số ít tuyến cáp quang biển, và sự cố trên các tuyến như AAG và APG là thực tế lặp đi lặp lại — có khi vài lần mỗi năm, với thời gian sửa chữa kéo dài hàng tuần. Khi cáp bị đứt, các tuyến đến edge CDN nước ngoài suy giảm: độ trễ tăng vọt, thông lượng sụp đổ vào buổi tối, và video là thứ đầu tiên người dùng nhận thấy. Lưu lượng trong nước vẫn chảy; chính chặng quốc tế mới chịu trận.
2. Bóp băng thông và định tuyến sai theo từng nhà mạng
Các mạng truy cập lớn — VNPT, Viettel, FPT — mỗi bên duy trì thỏa thuận peering riêng của mình. Trong thực tế, từng nhà mạng thỉnh thoảng bóp băng thông hoặc định tuyến sai các dải IP CDN cụ thể, khó lường và không hề thông báo. Video của bạn có thể hoàn hảo trên Viettel di động và không xem nổi trên cáp quang FPT trong cùng một thành phố, cùng một buổi chiều. Không trang status của bất kỳ nhà cung cấp đơn lẻ nào sẽ cho bạn thấy điều này.
3. Thiệt hại liên đới từ các lệnh chặn cấp quốc gia
Thỉnh thoảng, các lệnh chặn nhắm vào một dịch vụ khác lại đánh sập hạ tầng dùng chung — một dải IP hoặc một endpoint chứng chỉ dùng chung — và những domain vô tội host phía sau cùng dải đó tối đèn với người dùng Việt Nam. Bạn không làm gì sai; bạn chỉ đơn giản đứng cạnh mục tiêu.
Kiến trúc: hai CDN với failover ở tầng player
- Hai CDN, tối thiểu. Chọn hai nhà cung cấp có dấu chân mạng thực sự khác nhau — ví dụ Cloudflare cộng Bunny — để một sự cố tuyến đường đến một bên khó có khả năng tương quan với bên kia.
- Một origin trong khu vực. Giữ origin (hoặc một origin shield) gần Đông Nam Á để cache miss không phải băng qua một tuyến cáp hỏng đến hai lần.
- Manifest HLS với nhiều base URL. Cấu trúc khâu đóng gói sao cho mọi rendition và segment đều truy cập được dưới cả hai hostname CDN. Manifest — hoặc cấu hình player — mang cả hai base.
- Failover trong player, không phải trong DNS. Player thử lại một segment bị nghẽn hoặc lỗi từ CDN B ngay khoảnh khắc CDN A trục trặc — một cú chuyển giữa lúc phát mà người xem trải nghiệm, tệ nhất, như một nhịp buffer bị bỏ qua. Đây là trái tim của thiết kế.
- Probe sức khỏe từ điểm quan sát trên nhà mạng thật. Kiểm tra tổng hợp từ một datacenter không nói lên gì về định tuyến dân dụng của VNPT. Hãy probe việc tải segment từ các điểm quan sát trên từng nhà mạng lớn, và đưa kết quả vào quyết định player mặc định ưu tiên CDN nào.
- Signed URL trên cả hai CDN. Nếu nội dung của bạn được bảo vệ, xác thực token phải được cấu hình — và kiểm thử — trên cả hai CDN với cùng ngữ nghĩa hết hạn, nếu không đường failover của bạn sẽ trả về 403 vào đúng thời điểm tệ nhất có thể.
Cạm bẫy vận hành
| Cạm bẫy | Hậu quả | Giảm thiểu |
|---|---|---|
| CDN dự phòng nguội lạnh | Failover trút lưu lượng lên một cache trống; origin quá tải; cú "giải cứu" tệ hơn cả sự cố | Gửi một phần lưu lượng thật đều đặn (dù chỉ 10–20%) sang CDN B để cache của nó luôn ấm |
| Mô hình chi phí khác nhau | Bậc giá theo GB khác nhau giữa các nhà cung cấp; một sự kiện failover kéo dài rơi vào bậc giá đắt | Mô hình hóa chi phí egress theo từng CDN và cảnh báo khi tỷ lệ phân chia lưu lượng lệch đi |
| Kiểm thử lúc 10 giờ sáng | Mọi thứ đều đạt; người dùng giờ cao điểm vẫn khổ | Kiểm thử vào giờ cao điểm buổi tối — đó là lúc peering trong nước nghẽn và hành vi thật lộ ra |
| Signed URL lệch cấu hình | Config token chỉ cập nhật trên một CDN; failover trả về lỗi | Coi cấu hình CDN như code, deploy tới cả hai nhà cung cấp từ một nguồn duy nhất |
Trông thế nào khi chạy production
Một hệ thống xây tốt failover trong im lặng hàng chục lần mỗi tuần và không ai phải mở ticket. Dashboard của bạn cho thấy tỷ lệ phân chia dịch về một CDN trên một nhà mạng nhất định trong vài giờ, rồi trôi ngược lại. Trong một sự cố cáp thực sự, hệ thống dồn mạnh vào nhà cung cấp nào đang có tuyến đường khỏe hơn — và video của bạn vẫn phát trong khi mục bình luận của các đối thủ một-CDN ngập tràn "video không xem được".
Nếu video là một phần trong hệ thống thương mại của bạn — demo sản phẩm, replay livestream, nội dung quảng cáo từ một pipeline video AI — thì tầng độ tin cậy này chính là thứ khiến phần còn lại đáng để xây. Đó cũng là lý do kiến trúc tự động hóa trọn gói liệt kê dự phòng là điều bất di bất dịch với bất cứ thứ gì liên quan đến video, và vì sao pipeline tự đăng bài của bạn không bao giờ nên giả định một asset đã host là truy cập được chỉ vì nó upload thành công.