边缘云上的高性能且安全的微服务

本文探讨如何在边缘云上构建高性能且安全的微服务,利用Rust和WasmEdge runtime实现轻量级、高安全性的Web服务。通过WasmEdge的沙箱环境,保护应用免受攻击,并减少资源消耗。文中展示了Rust编写的HTTP服务、AI推理服务和Node.js服务的实现,并提及了状态微服务的可能性,强调了WasmEdge在内存占用和跨平台部署的优势。
摘要由CSDN通过智能技术生成

边缘云让开发者能够在靠近用户的地方部署微服务(即细颗粒度的 Web 服务),从而实现更好的用户体验(即非常快的响应时间)、绝佳的安全性以及高可用性。 边缘云利用本地乃至私有的数据中心、CDN 网络和电信数据中心(例如 5G MEC)来提供计算服务。 边缘云的成功案例包括 Cloudflare、Fastly、Akamai、fly.io、Vercel、Netlify 等。

但是,与大型公共云相比,边缘云是一个资源受限的环境。 如果边缘微服务本身运行缓慢、臃肿或不安全,将导致在边缘云上部署的全部优势丧失殆尽。

本文将展示如何创建轻量级和高性能的 Web 服务,然后将其免费部署到边缘云提供商 fly.io 上。

Fly.io 是一个领先的边缘云 VM 服务提供商,它在世界各地都有边缘数据中心。fly.io VM 支持应用程序服务器、数据库以及我们这种微服务的轻量级 runtime。

我将使用 WasmEdge runtime 作为这些微服务的安全沙箱。 WasmEdge 是专门针对云原生服务优化的 WebAssembly runtime。我们将在基于 WasmEdge 的 Docker Images 中打包用 Rust 或 JavaScript 编写的微服务应用程序。这种方法有几种巨大优势。

  • WasmEdge 以接近原生的速度运行沙盒应用。根据一项经过同行评审的研究,WasmEdge 能够以近似 Linux 运行原生机器代码的速度运行 Rust 程序。
  • WasmEdge 是一个高度安全的 runtime。它可以保护你的应用程序免受外部和内部攻击威胁。
    • WasmEdge runtime 受攻击的脆弱点,相比常规 Linux OS runtime 大大减少。
    • 软件供应链攻击的风险大大降低了,因为 WebAssembly 沙箱仅允许明确声明的访问。
  • WasmEdge 在内存足迹上提供了一个完整的可移植应用程序 runtime 环境,仅是标准Linux OS runtime 镜像的1/10。
  • WasmEdge runtime 是跨平台的。这意味着机器的开发和部署不必相同。一旦创建了一个 WasmEdge 应用程序,就可以将其部署到支持 WasmEdge 的任何地方,包括 fly.io 基础设施。

如果是复杂的应用程序,该性能优势会进一步放大。 例如,WasmEdge AI 推理应用程序不需要 Python 安装。WasmEdge node.js 应用程序也无需安装 node.js 和 v8。

本文接下来,我将演示如何运行

  • 异步 HTTP 服务器(Rust)

  • 一个非常快的图片分类 Web 服务(在Rust)和

  • node.js Web服务器

  • 具有数据库连接的有状态的微服务

所有这些都可以在 WasmEdge 中快速且安全地运行,同时只消耗常规 Linux 容器所需资源的1/10。

前期准备

首先,请确保在系统上安装了 Docker 工具。如果没有,请按照本教程的第一节安装 Docker。接下来,我们将使用在线安装程序来安装 WasmEdge、Rust 和 fly.ioflyctl工具。

安装 WasmEdge。此处查看详细信息。

curl -sSf https://raw.githubusercontent.com/WasmEdge/WasmEdge/master/utils/install.sh | bash -s -- -e all

安装 Rust。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值