CDN (Content Delivery Network)
Mạng phân phối nội dung - hệ thống máy chủ phân tán toàn cầu giúp phục vụ file tĩnh (ảnh, CSS, JS, video) từ server gần người dùng nhất, giảm độ trễ và tăng tốc độ tải trang.
Là gì / Hoạt động sao
CDN hoạt động bằng cách sao chép (cache) nội dung tĩnh từ origin server sang nhiều edge server (PoP - Point of Presence) đặt rải rác ở các khu vực địa lý khác nhau.
Flow cơ bản:
- Người dùng request
natecue.com/image.jpg - DNS trỏ request đến edge server gần nhất (thay vì origin ở xa)
- Edge server có cache -> trả về ngay (cache hit)
- Edge server chưa có -> fetch từ origin, cache lại, rồi trả về (cache miss)
Các loại nội dung CDN phục vụ:
- Static assets: ảnh, CSS, JS, font, video
- HTML tĩnh (với SSG như Astro)
- API responses (nếu dùng edge caching)
- Streaming media
Nhà cung cấp phổ biến:
- Cloudflare - miễn phí tier rộng, tích hợp DNS + WAF
- Vercel Edge Network - tích hợp sẵn khi deploy trên Vercel
- AWS CloudFront - enterprise, tích hợp sâu với S3/EC2
- Bunny.net - rẻ, hiệu suất tốt cho media-heavy sites
Điểm hay - Tại sao cần dùng
- Tăng tốc đáng kể: Giảm latency từ vài trăm ms xuống vài chục ms - đặc biệt quan trọng với người dùng Việt Nam truy cập server đặt ở Mỹ/EU
- Giảm tải origin server: 90%+ request được xử lý tại edge, origin server chỉ lo logic động
- Tự động HA: Nếu một edge node sập, traffic tự động reroute - uptime cao hơn nhiều
- Bảo mật thêm: Nhiều CDN tích hợp DDoS protection, WAF (Cloudflare đặc biệt mạnh)
- Tiết kiệm bandwidth: Origin server chỉ phải truyền data 1 lần cho CDN, CDN tự phân phối
- Tương thích SSG: Với Astro/Next.js static export, toàn bộ site có thể chạy trên CDN - không cần server backend
Lưu ý khi dùng:
- Cache invalidation là bài toán khó - khi update file cần purge cache hoặc dùng content hashing (vite/webpack tự làm điều này)
- Không phù hợp cho nội dung cực kỳ động hoặc cần real-time (dùng WebSocket thay thế)
- Cần config đúng
Cache-Controlheaders để CDN biết cache bao lâu
NateCue