Cloudflare官方
26-06-26 17:51 微博认证:Cloudflare官方微博

提高Rust Workers 可靠性:wasm-bindgen 场景下的 panic 与异常终止恢复机制

Cloudflare 针对 Rust Workers 在 WebAssembly 场景下因 panic 和异常终止导致实例污染的痛点,联合上游社区对 wasm-bindgen 进行了全链路错误恢复改造。团队利用 WebAssembly 异常处理提案,在 Wasm 环境下实现了 panic=unwind 支持,配合全新引入的 extern "C-unwind" 边界,使单个请求发生 panic 时能正常运行析构函数并向 JavaScript 侧抛出 PanicError,避免了内存状态丢失与实例失效。

针对内存溢出等无法 unwind 的中止事件,团队利用 Exception.Tag 特性精准区分可恢复与不可恢复错误,建立了异常终止处理器、重入防护以及面向生态库的自动化重置机制(--reset-state-function),兜底保障后续请求的正确运行。

此外,Cloudflare 还积极推动现代 Wasm 异常处理特性反向移植到 Node.js 等主流运行时,打通了全生态兼容链路。目前 Rust Workers 0.8.0 已支持 --panic-unwind 标志,全方位提升了多任务并发环境下的底层服务可靠性。

Cloudflare 保护整个企业网络,帮助客户高效构建互联网规模的应用程序,加速任何网站或互联网应用程序,抵御 DDoS 攻击,防止黑客入侵,并能协助您实现 Zero Trust 的部署与实施。

从任何设备访问 1.1.1.1,使用我们的免费应用加速和保护您的互联网。
立即联系我们,获取更多相关信息http://t.cn/A6Tx4yTT

#Cloudflare##网络安全##ai#

发布于 中国香港