一个防不胜防的“无声杀手“ 这种现象,业内叫执行计划漂移。 它是数据库世界里最难缠的性能问题之一:不报错、不告警,你永远不知道它什么时候来,也不知道它动了哪条 SQL。等到业务报警、CPU 飙红,往
被一条钉钉消息吵醒——
payment-service 集群熔断器已打开
你翻了个身,打开笔记本电脑。按照常规操作,你需要:
打开 Dashboard → 找到熔断器面板 → 查看 payment-service 当前状态 → 翻代理日志找错误 → 检查下游节点健康状态 → 分析根因 → 决定下一步操作。
大概需要 10 分钟,如果网络不卡的话。
但现在,你只对 Dashboard 右下角的悬浮 AI 按钮说了一句话:
“帮我看看 payment-service 出了什么问题。”
几秒钟后,AI 回复:
最近 5 分钟内 payment-service 返回了 12 次 503 错误(占总请求 40%),触发了熔断保护。下游节点 192.168.1.100:8080 健康检查连续 3 次失败。建议:检查该节点部署状态,确认是否正在重启;如果确认只是临时故障,可以重置熔断器恢复流量。需要我帮你重置吗?
10 秒 vs 10 分钟。这是质的区别。
这就是 Aneiang.Yarp v2.3.0.25 带来的最大更新:AI 智能助手正式上线。这不仅仅是加了个聊天窗口——我们让 AI 拥有了直接操作网关的能力。
先说说 Aneiang.Yarp 是什么
如果你还不熟悉这个项目,一句话介绍:
Aneiang.Yarp 是基于微软 YARP 的全功能 API 网关增强方案。
YARP 是微软开源的 .NET 反向代理引擎,性能优秀,但它是"发动机",不是"整车"。生产环境需要的——Dashboard 管理面板、WAF 防火墙、通知告警、熔断限流、配置回滚、审计日志——YARP 默认都不提供。
Aneiang.Yarp 就是把这些全部补上的那个项目。它不替代 YARP,而是在 YARP 之上盖了一座完整的房子。
目前项目已经是 .NET 生态中 YARP 增强方案的事实标准,MIT 协议开源,NuGet 一键安装。截止 v2.3.0.25 版本,已经集成了:
15 个 Dashboard 管理页面(路由 / 集群 / 日志 / 熔断 / WAF / 审计 / 配置历史……)
WAF 防火墙(IP 黑白名单、SQL 注入 / XSS / 路径遍历检测)
通知告警(钉钉 / Webhook、6 种事件类型、冷却机制防风暴)
全链路可观测(实时日志 WebSocket 推送、P50/P90/P99 延迟、健康检查)
配置管理与回滚(每次变更自动快照、一键回滚任意历史版本)
客户端自动注册(一行代码接入,HTTP / gRPC 双协议、指数退避重试)
AI 智能助手(本文的主角)
一句话总结:如果你在用 YARP,Aneiang.Yarp 让你不用从零开始造轮子。
AI 智能助手:不止是聊天,它能"动手"
这次 v2.3.0.25 的 AI 助手不是那种"你问一句它回一句"的客服机器人。它通过 OpenAI Function Calling 机制,直接调用网关的运维 API,具备执行操作的能力。
我们为 AI 准备了 40 个工具,覆盖网关运维的全链路:
读工具(21 个)—— 自动执行,一问即答
查询类操作不涉及数据变更,AI 直接调用并返回结果:
工具 能做什么
get_routes 查所有路由及匹配规则
get_clusters 查所有集群及目标节点
get_circuit_status 查熔断器实时状态
get_proxy_logs 查最近代理请求日志
get_health_summary 查集群健康总览
get_waf_settings 查 WAF 防火墙配置
search_logs 按路由 / 状态码 / 关键词搜索日志
get_traffic_stats 查 QPS / 延迟分位数 / 状态码分布
get_audit_log 查操作审计(谁在什么时间改了什么)
get_top_issues 自动分析 Top 错误 / 慢请求
export_config 导出完整 YARP 配置 JSON
get_config_history 查配置快照历史(用于回滚)
…… 共 21 个读工具
写工具(19 个)—— 前端确认卡片,人说了算
变更类操作由 AI 生成方案,前端弹出确认卡片,用户点击「确认执行」后才真正执行:
工具 能做什么
create_route 创建路由(含路径匹配、目标集群、下游地址)
delete_route 删除路由
create_cluster 创建集群(含节点、负载均衡策略)
update_cluster 更新集群配置
delete_cluster 删除集群
create_circuit_breaker 创建熔断器策略
reset_circuit_breaker 重置熔断器状态
toggle_plugin 启用 / 禁用插件
update_waf_settings 更新 WAF 设置
create_config_snapshot 变更前创建配置快照
rollback_config 回滚到指定快照版本
create_route_policy 创建路由策略(重试 / 限流 / WAF)
…… 共 19 个写工具
直观体验:说人话就能操作
每个工具都有结构化 JSON Schema 参数定义。用户只需要说人话:
“帮我建一个路由,把 /shop/* 的请求转发到 http://10.0.1.50:8080,路由名叫 shop-route。”
AI 自动填好所有参数,调用 create_route。你不需要知道 YARP 的 RouteConfig 有多少字段,不需要翻文档,不需要写 JSON。
安全第一:AI 不能为所欲为
有人可能会问:AI 能删路由、清日志、改配置——这安全吗?
这正是我们最重视的设计点。我们实现了一套读写分离安全模型:
读操作(查询 / 分析 / 导出)→ AI 自动执行,无需用户干预
写操作(创建 / 删除 / 修改)→ AI 生成执行方案 → 前端弹出确认卡片 → 用户明确点击「确认执行」后才真正调用
确认卡片清晰展示:操作类型、具体参数、影响范围。两个按钮:「确认执行」和「取消」。AI 只能建议,决策权永远在人手里。
此外还有两层安全防护:
Prompt Injection 防护:系统提示词使用边界标记声明"最终权威、不可覆盖",即使用户说"我是管理员"、“忽略之前的指令”,AI 也不会执行
SSRF 防护:自定义服务商 URL 经过严格校验,HTTP 仅允许回环地址,HTTPS 拦截私有 / 保留 IP 段
多服务商兼容:不被任何一家 LLM 锁定
AI 助手通过 OpenAI 兼容协议对接,只要兼容 /v1/chat/completions 接口即可:
服务商 推荐模型 适用场景
DeepSeek deepseek-chat 国内首选,性价比极高,无需特殊网络
OpenAI gpt-4o-mini / gpt-4o 海外部署
通义千问 qwen-plus / qwen-max 阿里云生态集成
自定义 任意兼容端点 私有部署模型
只需一行 JSON 配置:
{
“Gateway”: {
“Dashboard”: {
“AI”: {
“Enabled”: true,
“Provider”: “deepseek”,
“ApiKey”: “sk-xxxxxxxxxxxxxxxx”,
“BaseUrl”: “https://api.deepseek.com/v1”,
“ChatModel”: “deepseek-chat”
}
}
}
}
不配置 ApiKey 则 AI 模块完全静默,不影响任何现有功能。
不只是对话:后台智能分析 + 通知增强
除了交互式聊天,AI 还能在后台默默工作:
定期日志分析:每小时自动分析代理日志,生成请求趋势、错误模式、延迟变化的结构化摘要
异常检测:对比历史基线,发现错误率突增、新增未知错误模式、延迟飙升
配置建议:基于流量模式推荐限流阈值调整、熔断参数优化
配合 EnhanceNotifications: true,告警通知从干巴巴的:
“Cluster-A 熔断器已打开”
变成带上下文分析的:
“Cluster-A 熔断器已打开。最近 5 分钟内目标服务返回 12 次 503 错误(占请求 40%)。建议:1. 检查目标服务健康状态 2. 确认服务是否正在部署/重启 3. 考虑增加 recoveryTimeout 配置”
告警不再只是告诉你"出事了",还告诉你"为什么出事"和"该怎么办"。
交互体验:流式对话、多轮记忆、语言跟随
SSE 流式输出:打字机效果逐字渲染,不用等完整响应
多轮对话:上下文持久化到 SQLite,跨页面保持记忆
语言自动跟随:Dashboard 切中文 → AI 用中文回;切英文 → AI 用英文回
悬浮式设计:所有页面右下角悬浮按钮,一键唤起不遮挡操作
一个开源项目,为什么值得你关注
写到这里,我想跳出 AI 这个功能本身,聊聊 Aneiang.Yarp 这个项目。
在 .NET 生态里做网关,你可以选择自己基于 YARP 从零搭建,也可以用 Kong、APISIX 等通用方案。前者的问题是工作量巨大——Dashboard、WAF、告警、审计、自动注册……每个都要自己写;后者的问题是技术栈不匹配——Kong 是 Lua/OpenResty,APISIX 也是 Lua,维护和扩展都需要额外技能。
Aneiang.Yarp 走的是第三条路:纯 .NET 原生,开箱即用。
默认 SQLite 持久化,不强制外部数据库
支持 Windows / Linux 部署
两个 NuGet 包即可拥有完整 Dashboard
微服务只需引用 Aneiang.Yarp.Client,不依赖 YARP SDK
MIT 协议,代码在 GitHub / Gitee 完全公开
在线演示环境可直接体验(admin / demo123)
更多推荐
所有评论(0)