NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

评论

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

这价格够香!灵耀14 2022影青釉秒杀:12代酷睿+2.8K OLED屏

科技热闻

个性潮流与性能兼备,华硕a豆14 Pro搭载全新12代酷睿标压处理器

科技热闻

执掌英国工程技术学会13载,范纳杰正式退休

E科讯

特斯拉为何使用.NET Core技术框架?

博文视点Broadview

wallys/industrial Wireless AP/IPQ4019 IPQ4029 ,802.11ac /VSSupport IPQ6018 IPQ4019 IPQ4029 802.11ax 802.11ac

wallys-wifi6

Qt|控制QScrollBar显示位置

中国好公民st

qt 7月月更

有一说一,要搞明白优惠券架构是如何演化的,只需10张图!

程序员小毕

Java 编程 程序员 架构 面试

Nacos配置中心之环境准备

急需上岸的小谢

7月月更

45W性能释放+2.8K OLED全面屏 华硕灵耀X 14 2022精英气质高效利器

科技热闻

阿里云技术专家杨泽强:弹性计算云上可观测能力构建

阿里云弹性计算

DevOps 可观测性 CI/CD metrics

P9力荐!阿里巴巴最新出品776页JDK源码+并发核心原理解析小册

程序员小毕

Java 程序员 面试 程序人生 jdk源码

博物馆数字化——数字藏品app开发

开源直播系统源码

区块链数字藏品 数字藏品软件开发

ES6 类聊 JavaScript 设计模式之结构型模式

devpoint

JavaScript 设计模式 桥接模式 适配器模式 7月月更

源启数字化:既有模式,还是开源创新?|砺夏行动

OneFlow

活动

数字化时代,如何利用区块链技术赋能乳制品企业?

旺链科技

区块链 产业区块链 乳制品

云原生 SIG 直播:关于 cni 与 hybridnet 核心技术分享 | 第 35 期

OpenAnolis小助手

开源 云原生 直播 sig 龙蜥大讲堂

即刻报名|如何降低云上数据分析成本?

Kyligence

数据分析 智能多维数据库

行业分析| 物流对讲

anyRTC开发者

人工智能 音视频 物流 调度 快对讲

高度关注!2022 开放原子开源峰会最新议程一览

kk-OSC

开源 开放原子全球开源峰会

对话ACE第四期:分布式数据库未来发展的挑战和机遇

OceanBase 数据库

数据库 分布式数据库 oceanbase

常用 CSS 代码片段集合,建议收藏

南城FE

CSS 前端 CSS语法 7月月更

我,AI博士生,在线众筹研究主题

OneFlow

研究

wallys/industrial Wireless AP/industrial Wireless AP

wallys-wifi6

IPQ4019/IPQ4029

SAP ABAP 解析 excel 文件的函数 TEXT_CONVERT_XLS_TO_SAP 单步执行分析

Jerry Wang

Cloud SAP abap Netweaver 7月月更

【LeetCode】使数组可以被整除的最少删除次数Java题解

Albert

LeetCode 7月月更

Java RMI

沃德

Java 程序员 7月月更

Wallys/industrial Wireless AP/IPQ6018,IPQ4019,IPQ4029,802.11ax,802.11ac,outdoor ap

wallys-wifi6

数据库索引:索引并不是万能药

了不起的程序猿

MySQL 数据库 java程序员

数仓基本概念解析

五分钟学大数据

数据仓库 7月月更

执掌英国工程技术学会 13 载,范纳杰正式退休

E科讯

怎样让全彩LED显示屏变的节能环保?

Dylan

LED显示屏 全彩LED显示屏

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