Day 20 / 共 20 天 · 结业 🎓

收官串讲

恭喜走完 Higress 20 天!今天不讲新东西,只做一件事——把散落 19 天的知识点收成一条线:串一次 AI 请求的完整路径、回顾全景、提炼设计哲学,并把 higress-group 三站(Envoy/Istio/Higress)完整串起来。读完你能把整门课讲给别人听。

📍 你在整门课的位置 · 终点 🎓
W1 全景+控制器 W2 服务发现+配置 W3 Wasm 插件 W4 AI 网关+部署 D20 收官串讲
🤔 痛点:19 天学了一堆零件,但"它们怎么串成一个整体"还有点模糊? 控制器、istiod、Envoy、Wasm 插件、ai-proxy、Token 限流、部署……单看每块都懂了,可要你一口气说清"一个 AI 请求从进网关到拿到答案,经过了哪些零件、每块干了什么",是不是还得卡壳?今天就专门把这条线捋直,让零件长成一张完整地图。
💡 用一句话收束整门课(回收全程"关卡 + 收费前台"世界观) 20 天你其实只搞懂了一件事:Higress = 站在 Envoy(发动机)和 Istio(变速箱)这两个巨人肩上,造出的一辆"好开的 AI 网关整车"。它对内用"两级传话"把你写的 Ingress 变成 Envoy 的运行配置;对外用一排"安检关卡 + 统一收费前台"(Wasm 插件 + AI 插件)替你的应用挡住脏活——鉴权、限流、翻译各家大模型、按 token 计费。今天就把这辆车从发动机到方向盘再拆装一遍。
L01

20 天全景

主题核心
W1全景与控制器寄生 Istio、Ingress 翻译、xDS-over-MCP
W2服务发现与配置多注册中心、McpBridge、Nacos、ServiceEntry、证书
W3Wasm 插件wasm-go SDK、写插件、实战、golang-filter
W4AI 网关/部署ai-proxy、AI 增强、hgctl、部署
L02

一次 AI 请求的完整路径

客户端 POST /v1/chat/completions → higress-gateway(Envoy) 80/443
Envoy 命中路由 → 按 Phase/Priority 执行 Wasm 插件链
model-router 选上游 → ai-prompt 改写 → ai-token-ratelimit 查配额 → ai-cache 查缓存
ai-proxy:协议转换 + 模型映射 + 改写 host/path/鉴权 → 转发目标 LLM
上游 LLM(cluster/endpoint 由 McpBridge 服务发现提供)
响应流式回:ai-proxy 转格式 → ai-statistics 统计 token → ai-token-ratelimit 扣减
返回客户端 + 打 ai_log 日志 + Prometheus metric + ARMS span
读法:一次 AI 请求把第 2 周(服务发现提供上游)+ 第 3-4 周(Wasm 插件链处理)全用上了。Higress 的价值全在这条路径里:统一协议、模型路由、Token 治理、可观测——业务应用只管发 OpenAI 请求。

👶 第一人称:现在"你"就是那个 POST /v1/chat/completions 请求,用一口气把 20 天走完

👨‍🏫 "我从客户端出发,撞进 higress-gateway(那台 Envoy,第 1 站学的)的 80 端口。Envoy 一查路由表——这表是 istiod(第 2 站)Higress Core(本课 W1)翻译的 Ingress 算出来、经两级 xDS 下发的。命中路由后,我被推上一条安检流水线(W3 的 Wasm 插件):model-router 给我分流、ai-token-ratelimit 查我配额、ai-cache 看有没有现成答案、ai-security-guard 安检,最后 ai-proxy(W4)把我从'普通话'翻成通义千问的方言、转发出去。上游地址是 McpBridge(W2)从 Nacos 发现来的。回程我被 ai-statistics 记了账、被按真实 token 扣了额度,才回到客户端。"——这一趟,你把 20 天的每一站都路过了。

L03

配置热更新链

Ingress/CRD/McpBridge 变更
  → 控制器 event handler → xdsServer.ConfigUpdate(Day 05)
  → :15051 推 MCP → discovery 容器(istiod)重算(Istio 课)
  → :15012 下发新 xDS → Envoy 热更新(Envoy 课)
读法:配置变更的传播链——Higress Core → istiod → Envoy,全程热更新(不重启)。这就是两级 xDS(Day 19)的运行时体现。
📝 举个例子:给某模型加一条 Token 限流,几秒生效、零重启 运维 kubectl apply 一份带 ai-token-ratelimit 规则的 WasmPlugin("qwen-max 每人每分钟 1 万 token")→ 控制器 event handler 触发 ConfigUpdate → 经 15051 MCP 推给 istiod → istiod 生成 EnvoyFilter 从 15012 下发 → Envoy 热加载插件配置。整个过程网关不重启、在途请求不中断,几秒后新规则就对下一个请求生效。这就是云原生网关"声明式 + 热更新"的日常。
L04

设计哲学

  • 复用而非重造:复用 istiod 的 DiscoveryServer、Istio 的 config 模型、Envoy 数据面——只加自己的价值层。
  • 易用性封装:用 K8s Ingress + 注解隐藏 Istio CRD 复杂性。
  • 接口/实现分离 + 工厂:Watcher、Provider、Generator 都是"抽象接口 + 多实现 + 工厂注册"。
  • 声明式 + 控制循环:McpBridge/证书都用 Reconcile 对账。
  • 插件化扩展:Wasm(隔离)+ golang-filter(性能)双机制。
  • AI 原生:Token 治理、模型路由、Prompt 管理、MCP 网关。
读法:这些哲学和前四个项目(Envoy/Istio/LangGraph/OpenClaw)一脉相承——接口分离、工厂、声明式、复用是跨语言跨领域通用的。Higress 的独特在"复用巨人 + 产品化封装 + AI 原生"。
L05

三站串讲

higress-group 三站完整图景
Envoy(1/5,数据面):C++ 高性能代理,执行 xDS 配置、跑 Wasm 插件。无锁线程 + 事件驱动 + 零拷贝。
Istio(2/5,控制面):Go,istiod 把配置翻译成 xDS 下发 Envoy,支持 xDS-over-MCP 接收外部配置源。
Higress(3/5,产品层):Go,控制器把 Ingress/CRD/注册中心翻译成 Istio 配置,经 MCP 喂 istiod;加多注册中心、Wasm 插件、AI 能力。
数据流:用户 Ingress → Higress Core → (MCP 15051) → istiod → (xDS 15012) → Envoy → 执行 + Wasm 插件。三站层层叠加,你都学了,就完整掌握了一个 AI 云原生网关从数据面到控制面到产品层的全部。
higress-group 三站 = 一辆整车的三层(自下而上叠加) ③ Higress(产品层 · Go)——本课 Ingress/CRD/注册中心 → 翻译成 Istio 配置 + Wasm 插件 + AI 能力(整车) ② Istio(控制面 · Go)——第 2 站 istiod 把配置生成 xDS 下发;支持 xDS-over-MCP 收外部配置源(变速箱) ① Envoy(数据面 · C++)——第 1 站 执行 xDS 配置、跑 Wasm 插件、转发流量(发动机) 配置向下:15051 → 15012
图注:三站不是三个孤立项目,而是一辆车的三层——发动机(Envoy)、变速箱(Istio)、整车(Higress)。你三站都学了,整车全通。
L06

Higress 的定位

Higress = "AI 时代的 API 网关" 传统 API 网关(Nginx/Kong)管路由/限流/鉴权。Higress 在此基础上:①云原生——基于 Envoy+Istio,K8s 原生、xDS 热更新;②易用——Ingress+注解、多注册中心、自动 HTTPS;③AI 原生——统一 LLM 协议、Token 治理、Prompt 管理、MCP 网关。它踩中了两个大趋势:云原生(服务网格技术下沉)+ AI(LLM 应用爆发需要网关治理)。学它,你既懂了现代网关架构,又懂了 AI 应用的基础设施——这是当下最有价值的技术方向之一。
L07

下两站

higress-group 系列:Envoy(✅)→ Istio(✅)→ Higress(✅ 完成)→ higress-console → wasm-go

读法:还剩两站:higress-console(Higress 的 Web 控制台,前端 + 后端管理界面,Day 18 dashboard 打开的那个)、wasm-go(你 Day 12-14 用的那个独立 SDK module 的深入——怎么用 Go 写 Higress 插件的完整 SDK 剖析)。都建立在你已学的 Higress 之上。
L08

结业寄语 🎓

🎉 恭喜完成 Higress 20 天!

你读懂了一个 AI 原生网关的全部:控制器怎么把 Ingress 翻译成 Istio 配置、多注册中心怎么发现服务、Wasm 插件怎么写和加载、AI 网关怎么统一 LLM、怎么部署。

更重要的是——Envoy + Istio + Higress 三站拼起来,你完整掌握了一个云原生 AI 网关从数据面(C++ 代理)到控制面(Go istiod)到产品层(Go 网关 + Wasm 插件 + AI 能力)的全栈。这是当今云原生 + AI 交叉领域最硬核的知识体系之一。

你已经能看穿"一个请求从进网关到调 LLM 再返回"的每一层。剩下 higress-console 和 wasm-go 会更轻松——它们都建立在你已经打下的坚实地基上。下一站见!🚀

🏁 Higress 教程全部完成——回到 20 天总目录学习主页。higress-group 系列继续:higress-console → wasm-go。
← Day 19 部署 返回总目录 →