Advertisement

Istio service mesh Wasm filter module and test cases

阅读量:

背景信息概述

在2019年之前,Envoy是以静态编译的二进制文件形式进行运行的,这种运行方式意味着所有扩展等功能都必须在构建阶段完成编译工作。因此,像Istio这样的其他项目只能发布并维护他们自己的定制化Envoy版本,每当出现更新或修复Bug时,都需要重新构建新的二进制版本,并将其部署到生产环境中。

尽管上述问题尚未找到一个完全理想的解决办法,但在某些情况下可以借助C++语言的动态可加载特性来实现。具体而言,就是在遵循标准二进制应用接口(ABI, Application Binary Interface)的前提下,开发并交付WebAssembly(WASM)模块。

WASM最初源自前端技术领域,其诞生旨在应对日益复杂的Web应用以及JavaScript脚本解释性能受限的问题。借助该技术,开发者可以使用非JavaScript语言编写代码,并在浏览器中执行。

随着WASM技术的发展,其应用场景已不再局限于浏览器环境。目前WASM已被定义为一种具备可移植性、体积小巧、加载迅速且兼容Web标准的新一代二进制格式。

本文所探讨的WASM技术可用于在内存安全的沙箱环境中以接近本地执行速度的方式运行多种编程语言编写的代码。该沙箱环境对资源使用有明确限制,并通过特定API与嵌入式主机环境(如Envoy)进行交互。

优点

灵活性:WASM具备在Envoy运行时环

全部评论 (0)

还没有任何评论哟~