➔ Trở về Trang chủ
OrangeCloud Insights
Cloud••⏱️ 2 phút đọc•Biên tập: OrangeCloud Insights (AI-assisted)•Nguồn: blog.cloudflare.com – Simona Badoiu

Diễn tập quy mô lớn: di chuyển cdnjs sang Cloudflare Developer Platform

Tóm tắt kỹ thuật (TL;DR)

"Cloudflare migrated cdnjs, a high-traffic open-source CDN, from a split GCP/Cloudflare publishing architecture to Cloudflare’s Developer Platform, moving the serving and ingestion pipeline onto Workers, Workflows, R2, KV, Queues, Containers, and Workers Cache. The change addressed observability, split-brain storage, and pipeline complexity, while preserving existing file bytes and SRI hashes to avoid breaking pinned dependencies; no CVE is mentioned."

🛡️ Tác động Bảo mật7/10

Việc hợp nhất pipeline sang Developer Platform giúp giảm bề mặt tấn công từ nhiều thành phần rời rạc và giảm rủi ro vận hành sai lệch dữ liệu. Điểm đáng chú ý gồm giảm moving parts cần bảo mật/patch, loại bỏ các nhánh pipeline cũ có thể liên quan đến lỗ hổng cdnjs đã được “retire”, và duy trì tính toàn vẹn bằng SRI hashes không bị thay đổi khi di chuyển.

💼 Tác động Vận hành8/10

Di chuyển giúp cải thiện khả năng mở rộng và độ tin cậy của hệ thống xuất bản/serving, đồng thời giảm chi phí vận hành do ít thành phần hơn và quan sát tốt hơn. Tác động chính nằm ở giảm độ phức tạp triển khai pipeline, tăng khả năng xử lý quy mô lớn nhờ Workflows/Queues/Containers, và duy trì dịch vụ ổn định nhờ R2 làm nguồn sự thật và cơ chế dự phòng qua Spaces.

Từ ngày 23/06/2026, cdnjs (CDN mã nguồn mở cho JavaScript/CSS) vận hành hoàn toàn trên Cloudflare’s Developer Platform. Dự án đã chuyển kiến trúc từ mô hình xuất bản tách rời GCP/Cloudflare sang chạy pipeline phục vụ và thu nạp nội dung trên Workers, Workflows, R2, KV, Queues, Containers và Workers Cache. Mục tiêu trọng tâm là cải thiện quan sát (observability), giảm rủi ro split-brain storage và đơn giản hóa pipeline, trong khi vẫn bảo toàn byte nội dung và SRI hashes để tránh làm hỏng các phụ thuộc đã “pin”.

Trước đây, phần phục vụ đã dùng Workers/KV, nhưng phần “publishing” vẫn dựa vào GCP với chuỗi Cloud Functions, VM git-sync và GitHub làm nguồn sự thật. Kiến trúc cũ gặp các vấn đề như thiếu shared trace giữa các hệ thống, lưu trữ phân tán giữa KV và GitHub, pipeline ghép bằng object events không có dead-letter/replay rõ ràng, và khó vận hành khi phải quản lý nhiều hàm.

Kiến trúc mới đặt R2 làm single source of truth (KV chỉ lưu metadata và SRI hashes). Workflows điều phối tải gói từ npm/GitHub, xử lý từng file, ủy thác nén sang Containers, và cập nhật chỉ mục tìm kiếm. Khi cần, Worker đọc theo chuỗi cache → R2 → DigitalOcean Spaces để tăng khả dụng.

Xem nguồn tin gốc để kiểm tra kỹ hơn các thông số kỹ thuật:Xem nguồn tin gốc ➔