
Cloudflare Workers thử nghiệm hỗ trợ Rust gốc với mục tiêu Emscripten
"The article announces an experimental preview of first-class support for the wasm32-unknown-emscripten Rust target in wasm-bindgen and Cloudflare Workers, enabling native Rust and Tokio-based applications to run in Workers with improved library compatibility. The work integrates Emscripten and wasm-bindgen so both toolchains can cooperate, with patches to libraries such as libc, socket2, Mio, and Tokio to support Emscripten-specific builds and runtime behavior."
Tác động bảo mật chủ yếu nằm ở mở rộng bề mặt tương thích runtime và phụ thuộc thư viện; cần kiểm thử kỹ các thành phần I/O mạng và async runtime trước khi triển khai rộng.
Có thể giúp mở rộng lựa chọn triển khai Rust trên Workers và giảm rào cản tích hợp thư viện; tuy nhiên do còn ở giai đoạn thử nghiệm, cần tính thêm chi phí kiểm thử và xác thực tương thích.
Cloudflare công bố bản xem trước thử nghiệm cho wasm32-unknown-emscripten trong wasm-bindgen và Cloudflare Workers, nhằm cải thiện khả năng chạy Rust native và các ứng dụng dựa trên Tokio trên Workers. Theo công bố, cách tích hợp mới cho phép Emscripten và wasm-bindgen phối hợp thay vì cạnh tranh nhau trong quy trình build, từ đó mở rộng khả năng tương thích thư viện cho các ứng dụng WebAssembly viết bằng Rust.
Trong thử nghiệm, nhóm đã chạy được các ứng dụng Rust có dùng TCP sockets và Tokio async runtime trên Workers, bao gồm cả mô hình triển khai qua Durable Objects. Một số thư viện nền tảng như libc, socket2 và Mio đã được chỉnh sửa để nhận diện mục tiêu emscripten và hành vi runtime tương ứng.
Về kỹ thuật, giải pháp này tận dụng khả năng tương thích Node.js của Workers để mô phỏng các tính năng nền tảng như timers, file system và sockets. Do đây vẫn là bản experimental preview, các đội ngũ vận hành nên kiểm thử theo từng ứng dụng, đặc biệt với workload phụ thuộc sâu vào Tokio hoặc I/O mạng. Khuyến nghị là đánh giá lại chuỗi build, kiểm tra thư viện phụ thuộc và xác nhận hành vi runtime trước khi đưa vào môi trường sản xuất.