cdnjs hoàn tất chuyển đổi hạ tầng sang Cloudflare Developer Platform
Kể từ ngày 23/6/2026, cdnjs - một trong những CDN mã nguồn mở phổ biến nhất thế giới - đã chính thức vận hành hoàn toàn trên nền tảng Cloudflare Developer Platform, giúp tối ưu hóa hiệu suất và khả...
- Giọng nữ Bắc
Kể từ ngày 23/6/2026, cdnjs, một trong những mạng phân phối nội dung (CDN) mã nguồn mở bận rộn nhất Internet, đã chính thức chuyển đổi hoàn toàn sang vận hành trên Cloudflare Developer Platform. Quá trình này không chỉ giúp cdnjs nâng cấp hạ tầng mà còn thúc đẩy sự phát triển của chính nền tảng Cloudflare thông qua việc giải quyết các giới hạn thực tế.
Table Of Content
Tại sao cdnjs vẫn đạt 9 tỷ lượt yêu cầu mỗi ngày?
Dù các công cụ đóng gói (bundler) hiện đại như Vite, Bun hay Turbopack đã trở nên phổ biến, cdnjs vẫn duy trì lưu lượng khổng lồ nhờ vào tính ổn định và khả năng tương thích cao. Đặc biệt, các mô hình ngôn ngữ lớn (LLM) như ChatGPT hay Claude thường xuyên sử dụng cdnjs làm nguồn tham chiếu khi tạo mã demo vì tính nhất quán của URL và các phiên bản thư viện không thay đổi (immutable).
Trong bối cảnh các cuộc tấn công chuỗi cung ứng (supply-chain attacks) ngày càng gia tăng, việc duy trì một bản sao mã nguồn mở có xác thực hash (SRI) trở nên vô cùng quan trọng. cdnjs vẫn giữ vững cam kết là dịch vụ miễn phí, không yêu cầu API key và không giới hạn tốc độ.
Những thách thức từ kiến trúc cũ
Trước đây, cdnjs sử dụng kiến trúc phân tán giữa Google Cloud Platform (GCP) và Cloudflare. Điều này dẫn đến 5 vấn đề chính:
- Thiếu khả năng truy vết (Observability): Không có ID tương quan chung giữa các hệ thống, khiến việc debug trở nên khó khăn.
- Dữ liệu phân mảnh (Split-brain): Dữ liệu nằm rải rác giữa Workers KV và kho lưu trữ GitHub, gây khó khăn trong việc đồng bộ.
- Pipeline phức tạp: Quy trình xử lý dựa trên các sự kiện object (object events) giữa các Cloud Functions, thiếu cơ chế hàng đợi (queue) hiệu quả.
- Quản lý cồng kềnh: Cần tới 26 hàm riêng biệt để xử lý các gói thư viện theo bảng chữ cái.
- Giới hạn của GitHub: Kho lưu trữ đã vượt quá 1.1TB, gây khó khăn cho việc clone hoặc quản lý phiên bản.
Kiến trúc mới trên Cloudflare Developer Platform
Kiến trúc mới loại bỏ hoàn toàn các thành phần cũ, thay thế bằng hệ sinh thái của Cloudflare:
- R2: Đóng vai trò là nguồn dữ liệu duy nhất (single source of truth), thay thế cho các giới hạn lưu trữ trước đây.
- Workers & Workflows: Tự động hóa quy trình cập nhật thư viện, đảm bảo tính bền bỉ (durable execution). Nếu xảy ra lỗi, quy trình có thể tự động tiếp tục từ bước thành công gần nhất.
- Workers Cache: Tối ưu hóa tốc độ phản hồi tại biên.
- DigitalOcean: Được sử dụng làm nơi lưu trữ dự phòng (disaster recovery) để đảm bảo tính sẵn sàng cao.
Trong quá trình di chuyển, đội ngũ kỹ thuật đã đối mặt với giới hạn về số lượng subrequest và bước trong Workflow. Tuy nhiên, thay vì tìm cách né tránh, họ đã làm việc với các nhóm sản phẩm của Cloudflare để nâng cấp các giới hạn này, mang lại lợi ích cho toàn bộ người dùng nền tảng.
Việc chuyển đổi này không chỉ giúp cdnjs an toàn hơn nhờ giảm bớt các thành phần cần bảo trì (như VM hay service-account keys) mà còn mở ra khả năng hỗ trợ các chuẩn mới như ES Modules trong tương lai.
Nguồn tham khảo: Cloudflare Blog
No Comment! Be the first one.