Higress 开源贡献全攻略:共建 AI 原生网关生态
概述
Higress 是一个基于 Istio 和 Envoy 的云原生 API 网关,具备先进的 AI 功能。通过 Go/Rust/JS 编写的 Wasm 插件提供可扩展的架构,并提供了基于 Node 和 Java 的 console 模块,使得用户可以可视化使用 Higress。
Higress 最初由阿里巴巴研发,旨在解决 Tengine 配置 reload 对长连接造成影响,以及 gRPC/Dubbo 服务负载均衡能力不足的问题,于 2022 年开源。如今,阿里云云原生 API 网关、MSE 云原生网关、专有云飞天企业版 API 网关等网关产品系列均采用了 Higress 的统一架构,它已成为阿里云 API 网关产品的基础。
本文主要面向开发者和开源爱好者,围绕 Higress 基本的架构,分享一些 Higress 的基本原理,欢迎一起共建 Higress。
Higress 产品介绍
网关产品在不同场景,不同发展阶段可能会加上很多修饰词前缀,这本质上是网关主要是一层代理,伴随着应用架构的演进,网关的身份也会发生转变。
正如单体式应用到 SOA 架构时 ESB 总线的称谓,微服务架构阶段时的微服务网关,K8s 云原生架构下的云原生网关,再到现如今 AI 时代的 AI 网关。可以发现不仅仅是 Higress 如此,传统的 API 网关产品以及国内外的 API 网关云厂商,都非常默契地将自家用户页面的入口换上了 AI 网关的皮肤。按照用户场景,Higress 可以有以下几种定位:
AI 网关
AI 网关相比传统 API 网关有了一些本质的变化:
传统 API 网关 | AI 网关 | |
---|---|---|
请求响应模型 | 无流式处理需求,多为 HTTP | 流式处理,SSE/Streamable 协议支持 |
内容感知深度 | 根据 header/query/path 等部分进行流量转发 | 支持 OpenAI 协议,多模型协同,提示词改写,可能对流量需要有语义级别的理解 |
流控差异 | Query Per Second | Token Per Second |
内容安全 | 防御 DDos、SQL 注入等攻击手段 | 防御提示词注入、数据和模型投毒、无限资源消耗等攻击手段 |
AI 网关伴随 AI 原生架构演进,会提供各类 AI 原子能力和场景化能力,助力企业应用完成智能化升级。同时,随着越来越多 AI 的概念被提出,例如 MCP、A2A,为了解决对应的场景的问题,Higress 也提供了对应的解决方案,在这些场景下我们也可能会称呼 Higress 为 MCP 网关、Agent 网关。