AI 重塑云原生应用开发实战
邢云阳
联通云 AI 与容器技术专家
947 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已更新 20 讲/共 28 讲
第五章:AI 微服务——云原生 API 网关到 AI 网关的蜕变 (2讲)
AI 重塑云原生应用开发实战
15
15
1.0x
00:00/00:00
登录|注册

19|轻量级网关插件Wasm初体验

你好,我是邢云阳。
在上一节课中,我们深入探讨了 Higress 这款云原生 API 网关,了解了它如何应对 AI 时代带来的诸多挑战,包括服务连续性、资源安全、商业模式保护、内容安全以及多模型管理等方面。
今天这节课,我们将聚焦于 Higress 的一个重要特性——WebAssembly(简称 Wasm)插件机制。Wasm 不仅为 Higress 带来了强大的扩展能力,还能确保插件在高性能和安全性方面达到极致的平衡。通过 Wasm 插件,开发者可以使用自己熟悉的编程语言来扩展 Higress 的功能,同时又不会影响网关的稳定性和性能。
本节课的内容偏科普性质,是基于 Higress 社区推出的一些 Wasm 开发经验总结而来的,以便让感兴趣的同学对 Wasm 有一个了解。当然不感兴趣也没关系,可以直接跳过学习后面的 Wasm 编程,会用即可。

认识 Wasm

什么是 Wasm?

首先,我们一起来了解一下什么是 Wasm。Wasm 可以理解为是一种轻量级的编码格式,它可以由多种语言编写的程序编译而来。最初 Wasm 是用于 Web 浏览器中,为了解决前端 JS 性能不足而发明的,但是在后面逐渐扩展到了后端以及云原生等多个领域。Wasm 有以下特点:
高效性能:提供了接近机器码的性能。
跨平台:Wasm 是一种与平台无关的格式,可以在任何支持它的平台上运行,包括浏览器和服务器。
安全性:Wasm 在一个内存安全的沙箱环境中运行,这意味着它可以安全地执行不受信任的代码,而不会访问或修改主机系统的其他部分。
可移植性:Wasm 模块可以被编译成 WebAssembly 二进制文件,这些文件可以被传输和加载到支持 Wasm 的任何环境中。
多语言支持:Wasm 支持多种编程语言,开发者可以使用 C、C++、Rust、Go 等多种语言编写代码,然后编译成 Wasm 格式。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
  • 解释
  • 总结

1. WebAssembly(Wasm)是一种轻量级的编码格式,具有高效性能、跨平台、安全性、可移植性和多语言支持等特点。 2. Wasm插件提供了一种灵活的方式来扩展和自定义Envoy的行为,包括Http Filter、Network Filter和Wasm Service等类型。 3. Proxy-Wasm Go SDK是用于在Envoy上开发Wasm插件的工具,基于Proxy-Wasm ABI规范设计,降低了开发门槛。 4. 上下文(Contexts)是Proxy-Wasm Go SDK中的接口集合,包括VMContext、PluginContext、TcpContext和HttpContext等四种类型。 5. Hostcall API允许在Wasm模块内调用Envoy提供的功能,用于获取外部数据或与Envoy交互,包括配置和初始化、定时器设置、上下文管理、插件完成等功能。 6. 跨虚拟机通信允许不同线程在运行的Wasm虚拟机之间进行数据交换和通信,包括共享数据(Shared Data)和共享队列(Shared Queue)两种方式。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《AI 重塑云原生应用开发实战》
新⼈⾸单¥59
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部