写点什么

Fastly 开源 Lucet:WebAssembly 的编译器和运行时

  • 2019-04-15
  • 本文字数:948 字

    阅读完需:约 3 分钟

Fastly开源Lucet:WebAssembly的编译器和运行时

CDN 供应商Fastly最近开源了Lucet项目,这是一个 WebAssembly 原生的编译器和运行时。Lucet 可以让边缘服务开发者不受供应商、语言、或者 API(程序编程接口)的限制制定大规模边缘定制方案。


Lucet 是围绕 Wasm(WebAssembly)以及 WASI(WebAssembly系统接口)而设计的。开发者可以选择任何语言,如 Rust、TypeScript、C 或 C++等高级语言,只要这些语言能编译成 WebAssembly 即可。WASI 则不单单允许浏览器,任何实现了预定义 WASI 接口的平台都可以执行 Wasm 代码。在所有支持 WASI 的平台上,Lucet 可以更好地平衡 WebAssembly 的安全、近原生速度以及多语言支持等特性。


Fastly 高级软件工程师Pat Hickey详细解释了 Lucet 的性能需求:


Lucet 的一个主要设计目的就是能够执行 Fastly 处理的所有请求。这意味着 Lucet 需要能够为每个进程中每秒数以万计的请求都创建一个 WebAssembly 实例,这需要 Lucet 的消耗要远小于一般浏览器中的 JavaScript 引擎。Lucet 能够在 50 微秒以内启动一个 WebAssembly 实例,而且内存负载不会超过几 KB。相比之下,Chromium 的 V8 引擎需要 5 毫秒,几十兆大小的内存来启动一个 JavaScript 或 WebAssembly 程序。


对于 Lucet 的安全特性:


通过 Lucet,Fastly 的边缘云能够在同一个进程中同时执行数以万计的 WebAssembly 程序,同时又不会损害其安全性。Lucet 编译器和运行时确保 WebAssembly 程序只能访问自己专有的资源。这意味着 Fastly 的客户能够在不影响安全性的前提下使用更常见的通用语言来编写和运行程序。


开发者可以选择自己顺手的语言进行边缘开发,这样也更容易突破供应商和 API 的潜在限制,并能够为诸如 A/B 测试或认证相关的技术和业务问题实现自定义方案。


尽管 Fastly 只是最近才开源 Lucet,但作为Terrarium项目的引擎,Lucet 已经在生产环境中使用几个月了。文档和实例可参考Lucet仓库


WebAssembly,作为堆栈式虚拟机的二进制指令格式,主要被用来作为移植 C、C++或者 Rust 等高级语言的目标代码,从而可以在 Web 上部署客户端服务端程序。如今,四种主要的浏览器引擎都实现了 WebAssembly。WASI 作为 WebAssembly 平台的系统接口,旨在让 WebAssembly 程序在所有的设备、计算机或操作系统上运行。


查看英文原文Fastly Open-Sources Lucet, Its WebAssembly Compiler and Runtime


2019-04-15 08:004703

评论

发布
暂无评论
发现更多内容

《Programming from the Ground Up》阅读笔记:p88-p94

codists

assembly 编程人

「漏洞原理」SQL 注入漏洞之理论讲解

我再BUG界嘎嘎乱杀

网络安全 安全 漏洞 SQL注入

全新征程,Pencils Protocol 成首个单链 TVL 突破 3 亿美元的项目

加密眼界

面对AI,我们如何给自己的工作留条“后路”?

脑极体

AI

全新征程,Pencils Protocol 成首个单链 TVL 突破 3 亿美元的项目

石头财经

演播室如何合理使用LED显示屏

Dylan

技术 活动 综艺节目 LED display LED显示屏

图解自定义 Dialog 对话框

chasel

硅纪元视角 | 摩根大通拥抱AI:LLM Suite开启金融行业新篇章!

硅纪元

不断发展的AI监管如何影响网络安全

我再BUG界嘎嘎乱杀

人工智能 AI 网络安全 安全 网安

又一成就,Pencils Protocol单链 TVL 突破 3 亿美元

股市老人

又一成就,Pencils Protocol单链 TVL 突破 3 亿美元

西柚子

聚焦于 Melos 数据生命网络,用户如何参与到生态的建设中?

石头财经

又一成就,Pencils Protocol单链 TVL 突破 3 亿美元

BlockChain先知

LLM 应用可观测性:从 Trace 视角展开的探索与实践之旅

阿里巴巴云原生

阿里云 云原生 可观测

天翼云TeleDB数据库获得中国信通院两项测试证书

极客天地

(已封装)电商API解析指南:深入理解店铺商品搜索结果

代码忍者

API Explorer API 编排 api 货币化 API 接口

爱回收平台API:关键词搜索商品列表数据接口|爱回收平台数据采集

tbapi

爱回收 爱回收API 爱回收商品数据接口 爱回收商品列表数据接口 爱回收商品列表数据采集

什么是 CSRF?如何防止 CSRF 攻击?

我再BUG界嘎嘎乱杀

网络安全 安全 CSRF WEB安全 漏洞

EdgeOne安全专项实践:上传文件漏洞攻击详解与防范措施

我再BUG界嘎嘎乱杀

网络安全 安全 漏洞 文件上传 EdgeOne

聚焦于 Melos 数据生命网络,用户如何参与到生态的建设中?

BlockChain先知

【活动预告】Easysearch 结合大模型实现 RAG

极限实验室

大模型 easysearch 极限科技 rag 搜索客社区

ETH现货ETF流入量估算:会重演BTC现货ETF走势吗?

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 公链开发 公链钱包开发

Fastly开源Lucet:WebAssembly的编译器和运行时_大前端_Bruno Couriol_InfoQ精选文章