本文主要分为以下三大模块内容:
- 安装 SolarMesh(自带 Istio)
- 使用 WASM 扩容 Istio 治理能力
- 在 SolarMesh 中使用 AI WASM 插件
安装 SolarMesh
1、什么是 SolarMesh
SolarMesh 服务网格是一个高效可视化微服务治理平台,基于 Istio 及容器技术,提供应用生命周期管理、全面流量管理和非侵入式的服务治理解决方案。SolarMesh 的基石是服务网格理论,底层架构基于 kubernetes、Istio(Istio 是一种高度可配置且功能强大的服务网格实现方案)实现。
2、安装方式
SolarMesh 内置 Istio 安装包,可百度搜索"SolarMesh"官网,根据文档指导安装。
3、SolarMesh VS Istio
Istio 是目前服务网格领域最流行的开源项目,38% 的企业在生产中使用服务网格,其中有接近一半的选择是 Istio。
但是,企业基于 Istio 落地服务网格、实现微服务治理面临的主要难点,还是针对 Isito 本身的问题:
- 部署难:Isito 虽然是开源的服务网格,但部署起来及其容易"踩坑"。
- 使用难:掌握 Istio 相关技术难度极大,技术门槛高,使用成本高。
相比起 Istio,SolarMesh 更适合应用于企业场景:
- 对开源 Istio 质量加强了。
- 对开源 Istio 体验的加强了。
- 对相关技术的服务支持加强了。
更多对比,可以参考下图:
4、SolarMesh 支持多项功能
- 多云多集群纳管:统一纳管包含但不限于 K8s、OpenShift、Rancher、Docker等原生自建或采用不同品牌的容器及虚拟机集群。
- 网络流量插件商店:支持在网络流量插件商店按需选择各类场景的插件,支持无代码改变业务内容。
- 网络故障无损回滚:Sidecar 故障支持一键切换非网络模式,秒级实现直连流量切换。
- 端到端可视化全域视图:全方位流量视图,清晰反应集群内流量情况。流量监控、链路健康、异常相应、故障响应一目了然。
- 非侵入式流量监控和管理:SolarMesh 适配所有语言。Sidecar 模式,免去第三方组件配置或修改应用程序。
- 让 Istio更简单:让 Istio 落地企业业务系统更丝滑、更简单。
详细了解 SolarMesh,可百度搜索"SolarMesh"官网。
使用WASM扩容Istio治理能力
通过 WASM 的实现,我们可以得到:
- 敏捷性:WASM 可以动态加载业务逻辑到正在运行的 Envoy 进程中,而无需停止或重新编译。
- 可维护性:我们不必更改 Envoy 的代码库来扩展其功能。
- 多样性:流行的编程语言如 C/C++ 和 Rust 可以编译成 WASM,因此开发人员可以使用他们选择的编程语言来实现过滤器。
- 可靠性和隔离:过滤器部署到 VM(沙箱)中,因此与托管 Envoy 进程本身隔离(例如,当 WASM 过滤器崩溃时,它不会影响 Envoy 进程)。
- 安全性:由于过滤器通过定义良好的 API 与主机(Envoy 代理)通信,因此它们可以访问并且只能修改有限数量的连接或请求属性。
使用 WASM 扩容 Istio 治理能力具体操作教程,可百度搜索"SolarMesh"官网,根据文档指导安装。
在SolarMesh中使用AI WASM插件
SolarMesh 支持 AI 流量插件功能,利用 AI 的能力结合以 WASM 的形式,得以实现插件式应用流量 AI 治理的能力。
AI 插件是拥有强大性能的 WASM 插件扩展机制,通过沙箱隔离确保内存安全,支持多种编程语言,允许插件版本独立升级,可以流量无损热更新,助力构建更加灵活和安全的应用网络。
在 SolarMesh 中使用 AI WASM 插件,可实现以下功能:
1、智能请求/响应转换
AI-Transformer 是 SolarMesh AI 插件中的一大亮点。通过配置 AI 请求/响应转换插件,用户无需编写复杂代码,即可使用自然语言来调整服务的请求和响应数据。这一功能在测试场景中尤为实用,测试人员可以基于原始请求/响应,自动生成用于边界条件测试的新请求/响应,大大提高了测试的全面性和效率。例如,通过简单的自然语言指令,即可实现 HTTP 应答信息的自动化修改,如修改内容类型、转换数据格式、移除特定头等。
2、业务数据脱敏
除了基本的请求/响应转换外,AI-Transformer 插件还能在业务数据脱敏方面大显身手。通过配置相应的规则,插件可以自动对返回数据中的敏感信息进行加密处理,如手机号、银行卡号等隐私数据,以及英文违禁词等,有效保护用户隐私和数据安全。这一功能在数据共享、合规性要求较高的场景中尤为重要。