Higress 源码学习
20 天 · 每天 30 分钟 · 逐层读懂阿里开源的 AI 原生 API 网关 Higress(Go)——它站在 Envoy(数据面)+ Istio(控制面)之上,加了多注册中心、Wasm 插件生态、AI 网关能力。学完前两站,来看它们怎么组装成一个产品。
开篇 · 这是个什么项目
Higress 是阿里开源的AI 原生 API 网关(Go 编写)。它站在你学过的 Envoy + Istio 之上:用 Envoy 做数据面、Istio(istiod) 做 xDS 生成,Higress 自己加了一个控制器(controller)——把用户的 Ingress / 自定义 CRD 翻译成 Istio 配置,通过 xDS-over-MCP 喂给 istiod。此外它还有多注册中心服务发现(Nacos/ZK/Consul…)、丰富的 Wasm 插件生态、以及专为 AI 场景(LLM 代理、Token 限流)设计的能力。
🎯 一句话:Higress = Ingress 控制器(Ingress/CRD → Istio 配置,经 MCP 喂 istiod) + 多注册中心服务发现 + Wasm 插件生态(含 AI 插件) + 内嵌 istiod + Envoy。用户写 Ingress → Higress 翻译 → istiod 生成 xDS → Envoy 执行 → 请求经 Wasm 插件处理(含 AI 路由)。
Ingress 控制器
Ingress/CRD → Istio 配置,经 xDS-over-MCP 喂 istiod。
多注册中心
Nacos/ZK/Eureka/Consul/K8s/DNS,不止 K8s。
Wasm 插件生态
wasm-go SDK 写插件,热插拔,丰富的官方插件。
AI 网关
LLM 代理、模型路由、Token 限流、AI 统计缓存。
higress-group/higress/pkg/ingress/(控制器核心)。架构全景(动起来看)
下图那颗发光小球是"用户配置 → Higress 控制器 → istiod → Envoy"的旅程。从上到下:用户输入 → Higress 控制器 → istiod → 数据面。
Higress 的心智模型是"用户配置 → 控制器翻译 → istiod 生成 xDS → Envoy 执行 + 插件增强":
怎么用这份教程
每天 30 分钟
一天一个独立页面,跟着"今日小结 + 动手"收尾。
零基础友好
不假设你懂 K8s/网关/Go,术语首次出现都有大白话解释。
精确到行号
关键代码标 文件:行号,可在真源码里跳转对照。
项目全景(AI 云原生网关)
Higress 是什么、基于 Istio+Envoy、和前两站的关系。
启动流程
cmd/higress → pkg/bootstrap,控制器怎么 boot。
Ingress 控制器核心
watch Ingress/CRD,翻译成 Istio 配置对象。
配置翻译
Ingress → VirtualService/Gateway/EnvoyFilter/DR。
xDS-over-MCP
Higress 怎么把配置喂给 istiod(发送端)。
多注册中心概览
Nacos/ZK/Eureka/Consul/K8s/DNS 统一抽象。
McpBridge + reconcile
配置注册源的 CRD,怎么创建注册表 watcher。
Nacos 注册表
从 Nacos 发现服务的实现。
服务 → ServiceEntry
发现的服务怎么变成 Istio ServiceEntry。
配置模型 + 证书管理
config 流转、TLS 证书自动化(ACME)。
Wasm 插件系统概览
插件生态、和 Envoy proxy-wasm 的关系。
wasm-go SDK
写 Higress 插件的 Go SDK、封装、生命周期。
写一个插件
HttpContext/OnHttpRequestHeaders 逐行拆解。
实战插件
key-auth/限流等真实插件的实现。
golang-filter
原生 Go 扩展(非 Wasm)+ mcp-server。
AI 网关能力
ai-proxy:统一代理多家 LLM、模型路由。
AI 增强插件
Token 限流、AI 统计、语义缓存、内容安全。
hgctl CLI
安装、插件管理等命令。
部署 + 内嵌 istio/envoy
helm/docker/all-in-one,怎么打包 istiod+Envoy。
收官串讲
完整 AI 请求路径 + higress-group 三站串讲。
✅ Higress 全部 20 天已就绪!(higress-group 系列 3/5)建议先学 Envoy + Istio 再学本课。