业务云原生架构、推荐系统以及线上生活等热点方向的高可用高性能业务架构有哪些?点击了解 了解详情
写点什么

Wasmer 发布 GA 版本的 WebAssembly 运行时

2021 年 2 月 03 日

Wasmer发布GA版本的WebAssembly运行时

Wasmer 最新发布了WebAssembly服务器端运行时1.0版,由此形成了一般可用(GA)版。

 

Wasmer提供了基于WebAssembly(简称 Wasm)的超轻量级容器。该系列产品的启动可回溯至两年多前推出的 0.1.0 版,此次发行的 1.0 版是一个重要的里程碑标志,体现了 Wasm 对服务器端的日益关注。

 

Wasmer 1.0 版的主要功能包括:

  • 多项性能改进:编译速度比之前的版本提高了 9 倍。

  • 可插拔的架构:支持多种编译器和编译引擎。Wasmer 不仅对SinglepassCraneliftLLVM提供开箱即可用的支持,而且支持 JIT 引擎和原生引擎两种编译模式。JIT 引擎将生成代码直接推送到内存,原生引擎在磁盘上生成原生代码。

  • 原生对象引擎:Wasm 模块可预编译为原生对象。原生对象在提供完全沙箱环境的同时,通过编译的模块仅需要最小运行时即可运行。

  • 无头(headless)Wasmer:用户可运行一种专门针对轻量级 IoT 设备的“无头”版 Wasmer。无头版仅有几百 KB 大小,支持在任一设备上运行预编译的 Wasm 二进制文件。

  • 交叉编译:可以在任意 CPU 架构上针对其他的目标 CPU 架构进行 Wasm 的预编译。

 

Wasm 是一种面向基于堆栈(stack-based)虚拟机的二进制指令格式。它的设计目的是能够让不同的编程语言生成可移植的编译目标产出,支持在 Web 客户端和服务器端应用上进行部署。Wasm 已受到 Web 应用开发的广泛关注。开发人员使用 Wasm 替代或补充传统的 JavaScript 代码,并且大多数现代浏览器支持开箱即可用地执行 Wasm。可编译为 Wasm 的编程语言正不断增加,其中包括 C/C++、Rust、C#等。

 

随着 WebAssembly 在浏览器中广泛使用,出现了一些服务器端 Wasm 实现。Wasmer 的 CEO Syrus Akbary 介绍了服务器端 Wasm 运行时的重要性:

 

我们相信,WebAssembly 未来将成为执行软件和容器化的重要组件,不仅在浏览器内部,而且在浏览器之外。

 

通过将 Wasm 引入软件容器化,我们创建了无需修改即可随处运行的通用二进制文件,支持 Linux、MacOS、Windows 等操作系统,以及多种浏览器。出于执行安全上的考虑,Wasm 默认自动化沙箱应用,保护主机环境免受恶意代码、软件缺陷和所运行软件的安全漏洞的威胁。Wasm 还提供了紧凑的执行环境,使得 Wasmer 容器可在使用 Docker 容器显得过于重量级的场景中运行。


Wasm 服务器端运行时实现了WebAssembly System Interface(WASI)。WASI 是 WebAssembly 的模块化系统接口,支持 Wasm 代码访问文件系统、网络等操作系统的特定服务,这通常在浏览器中是不允许的。Docker 的联合创始人 Solomon Hykes 曾于2019年发推文指出:


如果早在 2008 年就推出了 WASM+WASI,那么我们就没有必要创立 Docker。Wasm 就是这么重要。服务器端 WebAssembly 是计算的未来,虽然还缺少标准化的系统接口。期待 WASI 提上日程!


Wasmer 使用Rust编写,是一个流行的 Wasm 服务器端运行时的开源实现。做为 Wasmer 的支撑企业,Wasmer Inc 还推出了WebAssembly软件包管理器WAPM。使用 WAPM,开发人员可以轻松地分享 Wasm 代码的打包模块。Wasmer 运行时的同类产品还包括 SSVM(Second State Virtual Machine)和Lucet

 

原文链接: 

The "Wasmer" WebAssembly Runtime is Generally Available

2021 年 2 月 03 日 15:573680

评论

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

译-面向前端开发人员的Docker入门指南

费马

Docker Linux 容器 运维 前端

提高 TCP 性能的方法,你知多少?

小林coding

TCP 性能优化 高并发 网络

FPGA

Kevin Z

架构师必备技能(灵魂拷问篇)

Arvin

架构师

平台化服务的基石:隔离与交互策略模型

孤岛旭日

企业架构 用户权限 权限系统

第一周总结

芒夏

极客大学架构师训练营

食堂就餐卡系统架构设计

Cloud.

架构师训练营 - 食堂就餐卡系统设计

Pontus

极客大学架构师训练营

食堂打卡系统架构设计文档

Frank Zeng

Facebook缓存技术演进:从单集群到多区域

伴鱼技术团队

架构 系统架构 分布式系统 缓存穿透 cache

架构师训练营第一周学习总结

jiangnanage

架构设计

系统梳理主流定时器算法实现的差异以及应用

古月木易

定时器

ReentrantLock 公平锁和非公平锁源码分析

张sir

Java 多线程 Java 25 周年

系统梳理主流定时器算法实现的差异以及应用

奈学教育

定时器

TOGAF认证自学宝典

涛哥

架构 企业架构

架构师训练营第1周作业——食堂就餐卡系统设计

在野

极客大学架构师训练营

第一周架构师总结

不在调上

作为一个架构师,我是不是应该有很多职责?

架构师修行之路

程序员 架构 架构师

架构师训练营-开营

zcj

极客大学架构师训练营

作业1 餐卡系统设计

Geek_2e7dd7

【架构师训练营】第一个周课程总结

Mr.hou

极客大学架构师训练营

食堂就餐卡系统设计

Arvin

架构设计

谈反应式编程在服务端中的应用,数据库操作优化,从20秒到0.5秒

newbe36524

C# Reactive netcore

学习总结

Geek_2e7dd7

数据结构与算法之基础入门

shirley

数据结构 算法

架构师训练营-第1课总结-202006-架构设计

👑👑merlan

架构设计 UML #总结#

区块链如何打通征信行业的“任督二脉”?

CECBC区块链专委会

CECBC 区块链技术 征信 数据共享

架构师训练营第一周课堂学习总结

Frank Zeng

UML练习1-食堂就餐卡系统设计

一剑

架构师训练营-第一周学习总结

zcj

极客大学架构师训练营

架构师训练营-第一周作业

zcj

极客大学架构师训练营

openEuler Developer Day 2021

openEuler Developer Day 2021

Wasmer发布GA版本的WebAssembly运行时-InfoQ