Docker 与 WasmEdge 合作,发布 WebAssembly 支持
在 KubeCon NA 2022 的 Cloud native Wasm day 活动上, Docker 与 CNCF 的 WasmEdge Runtime 项目发布了 Docker+Wasm 技术预览。 只需一个命令 docker compose up
, 上千万的 Docker 开发者可以立即构建、共享并运行一个完整的 Wasm 应用。
Wasm 最初是作为 Web 浏览器中的安全沙箱而开发的。近年来,它在服务器端作为 VM 和 Linux 容器 (LXC) 的安全、轻量级、快速和可移植的替代方案,有了很多应用程序。Linux 容器这一领域最初由 Docker 开创。
Docker+Wasm 中的标准 demo 应用是由 Second State 提供的。这是一个数据库驱动的 Web 应用程序,它有一个用于整个 Web 服务(微服务)的 WasmEdge “容器”,以及两个用于支持服务的 Linux 容器:一个用于 MySQL 数据库,一个用于 Niginx,为前端 UI 提供静态 HTML 页面。 这三个容器在同一个网络中并排运行并形成一个应用程序。 微服务用 Rust 编写并编译成 Wasm。 它有一个高性能(non-blocking)HTTP 服务器、一个事件处理程序(用于处理 HTTP 请求的业务逻辑)和一个 MySQL 数据库客户端。 整个“容器化”的 Wasm 微服务只有 3MB,而数据库和 Nignix 的 Linux 容器则需要好几百 MB。
Docker Compose 不仅将这些 Wasm 应用程序与侧容器一起运行,而且还将 Rust 源代码构建到 Wasm 中。 开发者甚至不需要安装 Rust 编译器工具链,因为整个构建环境也由 Docker 容器化。 Docker+Wasm 是真正的端到端解决方案。
随着 Docker 开启了引领了云原生时代的容器革命,Docker 在当今的“多运行时”世界支持 Wasm 的承诺,重要性愈发凸显。
Docker+Wasm 的发布非常有意义。 我们不再生活在单一 runtime 的世界中:有 linux 容器、Windows 容器和 Wasm 容器。 OCI 可以将它们全部打包,我应该能够使用 docker 构建和运行它们。 — Solomon Hykes, Docker 联合创始人。
Docker+Wasm 背后的技术主要来自开源社区。 例如,Docker 依赖于一个名为 runwasi 的容器 shim,最初 由 Microsoft 的 DeisLabs 创建, 来启动 WasmEdge 并执行 Wasm 程序。
深耕开源的可能远远不止 Docker 一家。 例如,红帽团队已经将 Wasm 运行时支持集成到 OCI 运行时 crun 中。 这使得整个 Kubernetes 堆栈能够无缝支持 WasmEdge 应用程序。 事实上,Liquid Reply 团队在 KubeCon 大会几天前用 WasmEdge 演示了 Podman+Wasm。
在 KubeCon 活动中展示的其他 Wasm 应用程序包括 AI 推理应用程序、基于 Dapr 的微服务和 streaming pipeline 中的数据处理函数。 现在有了 Docker+Wasm,开发者可以轻松构建、共享和运行这些应用程序。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
9个GaussDB常用的对象语句
摘要:本文介绍了9个GaussDB常用的对象语句,希望对大家有帮助。 本文分享自华为云社区《GaussDB对象相关语句》,作者:酷哥。 1. 常用函数 pg_database_size() -- 数据库使用的磁盘空间。 pg_table_size() -- 表使用的磁盘空间。 pg_total_relation_size() -- 表和索引共使用的磁盘空间。 pg_indexes_size() -- 索引使用的磁盘空间。 2. 常用系统表 pg_class -- 存储数据库对象信息及其之间的关系。 pg_index -- 存储索引的一部分信息,其他的信息大多数在PG_CLASS中。 pg_namespace -- 存储schema相关的信息。 pg_database -- 存储数据库相关的信息。 3. 常用视图 pg_stat_user_tables -- 显示所有用户自定义普通表和toast表的状态信息。 pg_stat_user_indexes -- 显示数据库中用户自定义普通表和toast表的索引状态信息。 4. 常用语句 4.1查询库大小 select datnam...
- 下一篇
RocksDB 7 终于解决了 Compaction 时性能下降问题
RocksDB 社区提到在 7.5.3 版本在修复 Compaction 计算问题之后优化效果十分明显。Kvrocks 社区贡献者 @zhaoxiaobiao 对此进行验证,证明了新版本 Compaction 过程写入性能的确很平稳,十分值得期待。 Kvrocks 的社区用户 Juan Crescente 在 RocksDB 社区的 Google Group 里发起了一个讨论: Performance of compactions (kvrocks),主要的意思是 RocksDB 在大批量持续导入数据场景下 Write Stall 会导致服务不可用: RocksDB 社区的 Mark 回复可以尝试 7.5.3 版本,该版本大大优化了 Compaction 的 Write Stall 时间,具体如下: Kvrocks 社区的贡献者 @zhaoxiaobiao 之前也遇到过类似的问题,对于该优化十分感兴趣,尝试验证之后将测试数据结果分享到社区。 从整体测试结果来看,RocksDB 7.7.3 的 Compaction 过程对于写入 QPS 和延时基本没有影响,而对比组的 RocksDB 6...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19