写点什么

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:004576

评论

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

Mac动态壁纸桌面Dynamic Wallpaper for Mac

Mac相关知识分享

壁纸软件

电商发展新趋势:阿里巴巴商品详情API返回值的深度利用

技术冰糖葫芦

API Gateway API 接口 API 测试 API 优先

强大的虚拟机软件VMware Fusion Pro 13 for Mac

Mac相关知识分享

HuggingChat macOS版正式发布!文章内附体验地址!我国打造糖尿病专用AI模型|AI日报

可信AI进展

携手长江存储,构建高性能分布式存储

XSKY星辰天合

XSKY 受邀华为全联接大会,共创鲲鹏原生全闪存储

XSKY星辰天合

鲲鹏;全闪 星飞

Lightroom Classic 2021 for mac(LRC 2021版)

Mac相关知识分享

LR

企业级移动门户的多样化选择:为数字化转型赋能

WorkPlus

火山引擎携手领克汽车和英特尔,以技术+场景推动汽车智能体行业应用创新

新消费日报

出海正当时,博联智能携手火山引擎加速全球化布局

新消费日报

深入理解Python类型注解:基本使用与核心概念解析

测吧(北京)科技有限公司

测试

Markdown文本编辑器Typora for Mac

Mac相关知识分享

即时通讯软件:推动企业沟通变革的数字化利器

WorkPlus

助力数智化升级,XSKY 受邀出席武汉制造业论坛

XSKY星辰天合

智能制造 软件定义存储

MySQL 高级管理实战指南:性能调优与数据备份的最佳实践

测吧(北京)科技有限公司

测试

强大音乐制作软件Native Instruments Komplete Kontrol for mac

Mac相关知识分享

音乐制作软件

Redis 内存数据存储解析:性能优势与核心使用技巧

测吧(北京)科技有限公司

测试

专业虚拟定位工具AnyGo for Mac

Mac相关知识分享

虚拟定位

功能强大的数据库管理工具Valentina Studio Pro for Mac

Mac相关知识分享

数据库管理工具

基于服务网格的集群访问控制

inBuilder低代码平台

云原生 集群 服务网格 容器化部署

深入解析 SQL 优化策略:提高查询效率的关键技术

测吧(北京)科技有限公司

测试

Redis: 探索性能最快的内存数据库及其基础操作指南

测吧(北京)科技有限公司

测试

Mac 系统设计的实用工具BatchOutput PDF for Mac

Mac相关知识分享

为什么IT外包成为企业成功的关键之一?

Ogcloud

IT外包 IT外包公司 IT外包服务 IT外包企业 IT外包服务商

远程工作与IT外包:未来工作模式的新趋势

Ogcloud

远程工作 IT外包 IT外包公司 IT外包服务 IT外包企业

企业级移动应用管理平台哪个好?

WorkPlus

功能强大的文件管理工具Path Finder for Mac

Mac相关知识分享

文件管理工具

预计OpenAI在新一轮融资后估值可达1500亿美元!Hugging Face平台托管模型数量破100万|AI日报

可信AI进展

华为云LTS日志上报至观测云最佳实践

观测云

华为云 LTS

Star 3w+,向更安全、更泛化、更云原生的 Nacos3.0 演进

阿里巴巴云原生

阿里云 云原生 nacos

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