微软开源基于 Rust 的新软件,可在 Kubernetes 上运行 WebAssembly
来自微软的 DeisLabs 团队最近开源了一款完全基于 Rust 的新软件 Krustlet,该软件可以用来在 Kubernetes 上运行 WebAssembly 模块。
Kubernetes 是来自谷歌的开源容器集群管理系统,主要用 Go 语言编写。而微软此次选用 Rust 来编写这款 Kubernetes 相关项目,背后有着怎样的原因?
Azure DeisLabs 的高级软件工程师 Taylor Thomas 解释,主要动机之一是 Rust 与 WebAssembly(缩写为 WASM)的兼容性。WASM 是便携式的抽象语法树,能够让开发者运用自己熟悉的编程语言进行编译,再借由虚拟机引擎在浏览器内运行。经过编译的 WASM 二进制文件(或称模块)可以在任何系统上运行,而 Rust 是为这些二进制文件提供本机构建支持的少数语言之一。
除了兼容性之外,DeisLabs 团队选择 Rust 的另一大原因是其“强大的安全保障”。Thomas 表示,尽管 Rust 的借用检查器(borrow checker)在项目初期带来一些麻烦,可一旦学习并熟练使用后,用 Rust 编写的效率就非常高了。“大约两周后,与使用 Go 编写相比,我们的效率提高了 50%。”
最重要的是,由于 Rust 编译器的严格规则,它能够从源头遏制一些错误的产生。与后期再费心维护和调试相比,Rust 能够节省不少时间,提高生产效率。
针对新开发的项目 Krustlet 来讲,Kubernetes 中存在大量自定义数据,并且云计算具有分布式特性。该团队认为,Rust 的采用“在编译器级别拥有这些保护和安全保证,使我们对正在编写的代码充满信心”。
Krustlet 这个项目被标记为“高度实验性”,目前还不建议在生产环境中使用。Thomas 也指出了 Rust 的异步运行时问题和学习曲线问题。“在学习曲线趋于平稳之前,需要花费数周的努力学习如何在 Rust 中正确编码。但是,由于上述的安全功能,这种前期的努力可以带来丰厚的回报。一旦开发人员超越了这一初始曲线,他们就可以像使用任何其他语言一样轻松地为代码做出贡献。”
上周发布的 Rust 语言年度调查报告中,“学习曲线”也被认为是阻碍开发者采用 Rust 的一大因素。Rust 目前备受关注,但由于种种阻碍,仍不流行。尽管如此,微软 DeisLabs 团队在博客文章中表示,他们看到了 Rust 在云软件中的光明前景,并将继续尝试在各种合适的项目中采用 Rust。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
微软将 Visual Studio Online 重命名为 Visual Studio Codespaces
微软宣布将去年发布的Visual Studio Online重命名为Visual Studio Codespaces。 Visual Studio Online 于去年5月份首次亮相,然后在11月发布了首个公开预览版。微软提到,在过去的几个月里,他们从用户那里吸取了深刻的教训,并找到了改进的方法,还认识到创建云托管的开发环境正在以许多不同的方式产生积极影响。 另外,微软还表示开发者不仅仅把 Visual Studio Code 当作是“浏览器中的代码编辑器”,更是一个云托管的代码创作空间。因此,为了更好地与这种情感和服务的真正价值保持一致,他们决定 Visual Studio Online 重命名为 Visual Studio Codespaces。 除了改名,Visual Studio Codespaces的定价也将从下周开始下降大约 50%。 详情查看https://azure.microsoft.com/en-us/pricing/details/visual-studio-online/ 还有一个值得一提的功能是对自托管环境功能的巨大改进。在自托管环境中,我们可以将任何计算机注...
- 下一篇
Hunt Framework 3.0.0 发布,D语言 Web 开发框架
Hunt Framework 3.0.0 更新日志 此版本是由 HuntLabs 与葡萄科技服务端团队开发者紧密的合作,历时近半年的开发迭代,共同打造的一个重要的版本。依托 Dependency Injection 技术,整个框架的模块划分变得更加合理,且易于扩展和维护。 现在您可轻松使用 DLang 语言构建稳定的服务端应用,包含 RESTFul API、gRPC、RabbitMQ、RedisMQ、Redis Cache、Momory Cache、Entity ORM 等关键技术的支持,开发者像使用 Laravel 和 Spring Boot 那样快速构建 Web 服务端应用; 此版本进一步简化操作,提升开发者的友好度,让更多 PHP 和 Java 开发者能几分钟入门开发 Web 服务。 版本重要更新 重构框架核心,依托 Dependency Injection 技术增强扩展性; 重构了二进制序列化模块,性能提升 1000%,比 C++ 二进制库 cereal 性能还要快 100%; 增强 JSON 序列化的操作,支持更复杂的对象与 JSON 字符串的相互转换和绑定; 增强错误处理,...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Linux系统CentOS6、CentOS7手动修改IP地址