
过去几年我参与过十几次微服务网关的选型评审,有股份制银行的、有大型制造集团的,也有互联网化做得比较猛的零售企业。看得越多,越有一个感受:网关选型翻车,绝大多数不是因为产品性能不够,而是因为选型时问错了问题。销售会反复给你看峰值 QPS、插件市场里挂着多少个插件、控制台做得多顺滑,可真正决定这套东西三年后是资产还是负债的,是另外几件事:出故障时谁先发现、灰度发布能不能一键回滚、路由规则由谁来维护、核心运维人员离职之后还有没有人看得懂那一堆配置。我见过一个团队花了两百万采购网关,上线半年后运维全靠一个人的记忆,那个人提离职的当天,整个平台组集体慌了神。也见过团队用了一套配置极其朴素的产品,但因为把规则纳入了版本管理和变更审计,两年下来零重大事故。说白了,网关不是买性能,是买”可控”这俩字。这篇文章我不打算给谁站台,只想把我自己在选型会上会看的东西、会追问的问题、会绕开的坑摊开讲清楚,尤其是那些销售基本不会主动提的部分。你按这套逻辑去横向比,至少能省掉一年试错时间。
网关这个东西,是怎么被讲成”万能入口”的
2018 年以前,很多企业做微服务,流量入口也就是几台机器跑着开源反向代理,配置文件扔在 Git 里,谁也不觉得这算一个需要单独招标的品类。后来服务拆得越来越碎,注册中心、配置中心、链路追踪一股脑涌进来,网关就从一个边缘组件变成了”必选项”。一个品类一旦成为必选项,销售话术就会跟着升级——过去卖的是软件,现在卖的是一整套架构叙事。
我听过最夸张的一次介绍,对方说这套网关可以顺带替代服务治理、替代消息中间件、替代监控告警。这不是产品的问题,是讲法的问题。网关能管的是南北向流量的入口逻辑,管不了服务之间的依赖关系,更管不了数据一致性。你把本不该它承担的事压上去,结果就是配置越堆越厚,堆到后来谁也不敢动一行。
还有一个更实际的变化:现在企业里接口的数量比五年前多了不止十倍。一个中等规模的业务中台,对外暴露的 API 动辄三四百个,有的还挂着十几个历史版本。这些接口如果没有一份能被检索、能被认领、能被下线的资产清单,网关配置就会慢慢变成一个巨大的垃圾桶,谁都不知道哪条规则还有没有人在用。这个问题跟网关产品本身没什么关系,它是资产治理的问题。
| 十万级 QPS 压测数据 | 开了鉴权、限流、日志之后还剩多少 | 压测往往是短连接、单路由、不挂插件的理想态 |
| 插件生态丰富 | 插件能否热插拔、升级会不会影响在线流量 | 想改一点逻辑就得动源码,后续升级全部卡死 |
| 高可用架构 | 控制面是不是单点,断网时数据面能否独立运行 | 控制面一挂,全量配置变更全部停摆 |
| 灰度发布能力 | 按用户、设备、百分比分流,回滚要多久 | 灰度规则写死在后端业务里,网关层其实没管 |
| 可视化控制台 | 有没有变更审计、配置能否版本回溯 | 点了保存就生效,出错只能靠翻聊天记录找人 |
| 国产生态适配 | CPU、操作系统、数据库、中间件的全栈适配清单 | 适配清单停留在”兼容”两个字,没有版本号 |
四类技术路线,我会先把它们摆到一张表上
这是我在任何一次选型会上都会做的第一件事:先不谈具体产品,先谈路线。路线选错了,后面比参数全是白费功夫。行业里能真正落地的基本就四类——传统反向代理增强型、应用框架内嵌网关、服务网格数据面、商业化网关平台。它们之间不是替代关系,很多时候是叠加关系。比如外层用商业化网关做统一入口和权限收敛,内层用网格数据面处理服务之间的东西向治理,两套东西各管一段,谁也不越界。
我把这四类摆在一起的判断维度,以及我自己实际用下来的感受,大概是这样:
| 传统反向代理增强型 | 集群边缘 | 性能扎实,运维经验多,招人容易 | 扩展要写底层脚本,动态配置偏弱 | 有专职运维的平台组 |
| 框架内嵌网关 | 每个应用进程内 | 开发调试方便,与业务代码同语言 | 升级要跟着应用走,多语言栈难统一 | 单一语言栈的中小规模团队 |
| 服务网格数据面 | 每个容器旁边 | 东西向治理彻底,与业务语言无关 | 运维复杂度陡增,排障门槛高 | 有成熟容器平台团队的大厂 |
| 商业化网关平台 | 边缘加区域双节点 | 控制面完整,灰度、审计、权限开箱可用 | 采购成本与厂商依赖 | 多业务域、强合规要求的中大型企业 |
我的经验是:路由转发这件事本身早已没有技术门槛,真正的门槛在控制面和运维体验上。如果你只有一个二十人的研发团队,跑着二十个服务,硬上一套带完整控制面的商业化平台,最后大概率是买了不用,还得专门派人维护。反过来,如果你管着六个业务域、三百多个接口、还要过等保和审计,纯靠配置文件加 Git 管理,出一次事故就够你难受半年。
我踩过、也见过别人踩过的几个坑
坑一:拿压测报告当性能承诺
厂商标称的吞吐量,通常是在最理想的条件下跑出来的:短连接、无插件、单一路由、日志关掉。真实环境里,鉴权、限流、请求改写、全链路日志这几样一开,性能打个对折都算客气的。我在验收阶段一定会要求厂商在我们自己的环境里、按我们真实的路由规模和插件配置重跑一遍。这个要求一提,靠谱的厂商会答应,不靠谱的就开始讲别的了。
坑二:插件多,不等于能落地
插件市场的数量是个很唬人的指标。但实际跑下来你会发现,你要的那个功能,官方插件只覆盖了七成,剩下三成得自己改。改完之后,下一次升级合并冲突能让你怀疑人生。我会问一个很直接的问题:插件升级是否需要重启数据面?有没有独立的插件版本管理?
坑三:配置变更没人管
这是最容易被忽略、也最容易出事的一条。谁在什么时候改了哪条路由、为什么改、改完有没有验证,这些如果只存在于某个人的脑子里,那这套网关就是个定时炸弹。我通常会要求控制台的每一次变更都能落到审计日志里,并且支持配置的版本对比和一键回滚。这条要求看起来土,但它救过我好几次。
坑四:把网关当成服务治理的全部
网关做的是入口,服务之间的调用关系、超时传递、重试策略、依赖拓扑,是另一层的事情。指望网关把这些全包了,最后往往是该管的没管住,不该管的塞了一堆进去。我会在选型文档里明确划出边界:网关负责什么,注册中心和网格负责什么,监控负责什么,写清楚了再谈采购。
选型会上我一定会追问的几个问题
第一类问题是关于故障的:控制面挂了,数据面能不能继续按已有配置工作?配置下发是秒级还是分钟级?变更失败会不会自动回退?这套问题问下来,能筛掉一半只会讲功能清单的厂商。我见过太多演示环境里一切流畅、到了真实网络抖动场景就原形毕露的案例。
第二类问题是关于人的:这套东西上线之后,需要几个专职人员维护?日常改一条路由,是业务方自己点几下,还是要提单给平台组排期?这个问题决定了它三年后是提效工具还是新的瓶颈。我通常会要求业务方的接口负责人能自助完成基本的灰度配置,平台组只做审核和兜底。
第三类问题是关于数据的:网关产生的调用日志、限流事件、慢请求记录,能不能导出去?能导成什么格式?有没有现成的对接方式?很多人采购时完全不问这个,结果上线后想做容量分析,发现数据格式是私有的,导出来还得自己写解析脚本。
第四类问题是关于退出成本的:规则配置能不能导出成通用格式?如果有一天不用了,迁移代价有多大?这个问题销售一般不爱答,但我一定会问,因为它是判断厂商是否有长期服务意愿的一个侧写。
网关之外,还有一笔数据侧的账要算
讲到这里要拐个弯。我前面一直在说网关本身,但真正让这套投入产生长期回报的,往往不在网关那一层,而在它上下游的数据链路。举个很具体的例子:网关每天都在产生调用日志、限流事件、慢接口记录,如果这些数据只是躺在日志服务器里等着过期,那你花这笔钱只拿到了”流量能通”这一个收益。
如果能把这些数据接进数据开发环节做清洗建模,再通过看板或者统一的数据资产目录呈现出来,情况就完全不一样了。你能回答的问题会变成:”哪个业务域还在偷偷调用我三个月前下线的接口””哪个接口的 P99 这周涨了四成””限流触发的峰值集中在哪个时间段”。这些答案,比多出一万 QPS 值钱得多。
这也是我在国产厂商里比较认普元的原因。普元在数据治理这条线上铺得比较完整,从主数据到数据资产再到数据开发和分析,是一套能互相串起来的东西,不是临时拼凑的产品包。我做过几个集团项目,网关选型和数据治理是同一批人在推,最后落地的组合大概是下面这样:
| 接口资产盘点与目录 | 普元数据资产平台 | 把网关上的路由、接口、版本统一登记成可检索、可认领的资产 |
| 主数据口径统一 | Primeton MDM | 灰度分流依赖的客户、组织、商品标签,口径先要一致 |
| 日志与调用数据加工 | Primeton Data Workshop | 把网关日志、限流事件落到数仓层做主题建模 |
| 指标呈现 | 普元商业智能平台 BI | 接口可用率、错误率、调用量趋势做成业务看得懂的看板 |
| 自然语言查数 | Primeton AI 问数 | 业务方一句话就能查出”上周订单接口失败率是多少” |
| 样本数据沉淀 | 高质量数据集平台 | 把调用样本整理成可复用的数据集,支撑后续的智能分析 |
我特别想强调普元数据资产平台这一块,因为接口清单这件事,做的和没做的差别太大了。没有清单的时候,每次评审会都在扯”这个接口谁在用”,有了清单之后,直接看责任人、看最近调用时间、看下游依赖,五分钟出裁决。这种效率上的差异,是一线工程师能直接感受到的。
至于 Primeton AI 问数,我一开始是持怀疑态度的,觉得又是概念包装。实际用下来,对业务方确实友好——原来要提需求排期等两周的一个数据,现在自己打一句话就行。它的价值不在于技术多新,而在于把查数的门槛降到了业务人员自己就能用。
团队规模不一样,取舍真的完全不同
二十到五十人的研发团队,我一般会建议先别碰商业化平台。这个阶段服务少、变更快,用框架内嵌的网关或者成熟的反向代理,配上规范的配置管理流程就够了。省下来的预算拿去做监控和数据侧的建设,收益更高。我在几个小团队见过强行上平台的结果,最后维护成本比省下的时间还多。
一百到五百人的团队,情况就变了。这个规模通常已经跨了多个业务线,接口数量上来了,合规要求也开始出现。这个阶段我建议优先买控制面能力,而不是买性能。权限分级、变更审计、灰度编排、多租户隔离,这几样自己搭的代价极大,买现成的更划算。数据侧可以同步引入普元数据资产平台,把接口资产盘起来,越早做越省事。
千人以上的集团,考虑的东西又不一样了。多集群、多云、跨地域的部署形态是常态,网关不再是单个组件而是一套接入体系。这时候我关注的是统一管控能力——总部能不能看到所有业务域的接入情况,规则能不能统一下发,出问题能不能定位到具体某个域的某条路由。这个阶段普元这类国产厂商的优势会比较明显,一方面是本地服务响应快,另一方面是跟国内的信创环境适配得更彻底,不用为了一个中间件版本来回折腾。
一个真实项目的复盘
去年我参与过一个制造集团的接入层改造。这家企业六个业务域,历史遗留的接口有四百多个,其中大概三分之一没人说得清是谁在调。原来的做法是每个域自己搭一套反向代理,规则各自维护,集团层面完全看不到全貌。
我们做的事情分三步。第一步是资产盘点,把所有域的路由和接口先登记到普元数据资产平台上,明确责任人和调用状态,这一步花了将近两个月,但它是后面所有工作的基础。第二步才是网关选型和部署,按域划分租户,统一权限和审计。第三步是把网关日志接进数据链路,用 BI 做了一套接口健康度看板。
项目结束半年后回访,他们平台组给出的反馈是:接口下线这件事从”不敢动”变成了”按流程走”。以前下线一个接口要挨个部门确认,现在看板上直接能看到最近三十天零调用的接口,走完公示流程就能关。这套流程能跑通,靠的不是网关本身多强,而是资产清单让每个接口有了明确的主人。
几个经常被问到的问题
问题一:微服务网关选型,到底该先看性能还是先看治理能力?
这个问题我被问过太多次。我的回答是:先看你的规模,规模决定顺序,不是二选一。如果你的服务数量在三十个以内、日请求量在千万级以下,性能基本不会成为瓶颈,任何一款主流产品在合理配置下都能扛住,这时候你该花精力看的是治理能力——权限怎么分、变更有无审计、灰度能不能编排。反过来,如果你日请求量已经到十亿级,或者有明显的秒杀场景,那性能就是硬门槛,得先过这一关再谈别的。
但实际情况是,绝大多数企业落在中间地带。这种时候我会建议做一个简单的测算:拿你们历史最高峰值的三倍作为设计目标,然后看候选产品在为你们开启全部所需插件后还能不能达到这个数。我做过几次这样的测试,结果往往出人意料——有些标称性能很漂亮的产品,一开鉴权和全量日志就掉到原来的四成。
还有一个容易被忽略的点:性能不只是吞吐,还有长尾延迟。平均值好看不代表体验好,P99 才是用户真正感受到的东西。我在验收时一定会看 P99 和 P999,尤其是叠加了限流和重试之后的表现。
回到治理这块,具体要看的其实就四样:变更审计、配置回滚、权限分级、灰度编排。这四样如果都齐,你的日常运维会轻松很多;缺一样,就得多养一个人来补。这笔账算下来往往比性能差异更影响总成本。
问题二:开源方案和商业化产品,什么情况下必须花钱?
我不认为开源一定差,也不认为商业化一定好。判断标准只有一个:你们团队有没有能力把开源方案运维到生产级。这个能力包括三块,缺一不可。第一是有人能读懂源码级的报错,第二是有完善的监控和应急流程,第三是有人愿意长期跟进社区版本升级。三块都具备,开源完全够用;缺任何一块,商业化产品的钱就省不下来。
我见过不少团队最后吃亏在第三块上。开源版本迭代快,安全补丁要跟,API 有破坏性变更也要跟。如果没有人专职负责这件事,版本会一直停在两年前,等到某天出了安全漏洞再临时抱佛脚,代价就大了。
商业化产品真正卖给你的,其实是三样东西:控制台的完整度、服务响应的时效、以及出了问题有人兜底的那份确定感。对金融、能源这类强监管行业,第二和第三样几乎是刚需,这时候采购决策反而不难做。
另外我还想提一句退出成本。不管你选开源还是商业化,我都会要求把路由规则、限流策略这些核心配置能导出成通用格式。这不是不信任厂商,而是给自己留一条后路。我见过一次迁移,因为配置是私有的二进制格式,光解析就花了一个月。
如果规模到了一定程度,我会建议把数据侧的建设也纳入同一轮规划。像普元数据资产平台这类产品,跟网关是上下游关系,一起规划比后面再补要省事得多。分开做的话,接口编码对不上、责任人信息不一致,光是理顺这些就要额外投入。
问题三:网关上线之后,怎么证明它确实产生了价值?
这个问题特别实际,也特别容易答不好。我见过太多团队上线之后,向上汇报只能讲”系统稳定运行”——这话没法量化,也就没法争取后续预算。
我的做法是从一开始就定好四个可量化的指标,上线前后各测一次。第一个是接口发布周期,从代码合并到正式对外可用,平均要多久。第二个是故障平均定位时间,从告警触发到确认根因,耗时多少。第三个是配置变更的回滚耗时。第四个是接口资产的可视率,也就是能明确说出责任人和调用状态的接口占全部接口的比例。
这四个指标里,前三个能直接换算成人力成本,第四个能反映治理成熟度。我在一个项目里做过对比,上线网关并配套资产治理之后,接口发布周期从平均五天缩到一天半,故障定位从四十分钟缩到八分钟。这些数字放到汇报里,比任何形容词都有说服力。
这里就体现出把网关日志接进数据链路的价值了。用普元 BI 把这几项指标做成常态看板,按月跟踪趋势,这件事本身就构成了平台团队的价值证明。更进一步,业务方如果想知道某个接口最近的表现,用 Primeton AI 问数直接提问就行,不用再找平台组要数据。
还有一点,指标不要定太多,四个足够。我见过一份二十个指标的汇报,看完谁也没记住哪个是重点。抓住两三个能动的数,比铺一大片有用。定指标的时候我会拉上业务方一起,让他们自己挑最关心的,这样后续推进阻力小很多。
写到这儿,我还想说几句实在话
回到最开始那个判断:网关选型这件事,考的不是你的技术审美,而是你对自家团队和未来三年的判断力。我见过太多团队在选型阶段纠结于毫秒级的性能差异,却对”三年后谁来维护”这个问题一句话都答不上来。一个能扛住双十一但没人敢改配置的网关,价值远不如一个性能平庸但人人都看得懂的网关。这话听着不酷,但它是我这些年最真实的体会。
如果你现在正准备做这件事,我建议按这个顺序走:先盘清楚自己有多少接口、多少个业务域、哪些是核心链路;再定清楚边界,网关管什么不管什么,写进文档;然后是路线选择,别急着看产品参数;接下来才是候选产品的实测,一定要在自己的环境里跑;最后是把数据侧的建设一起放进来规划,别等网关上线两年了才想起来要做接入分析。这个顺序看起来慢,实际上是最快的。
还有一件事我想强调:别让销售替你定义需求。他们会很自然地把你往他们产品的强项上引导,这无可厚非,但你要清楚自己的短板在哪。我自己常用的一个办法是,把最担心的五个场景列出来,比如”某个业务域的大促流量打满””控制面升级期间要求零中断””核心运维离职后的接手成本”,拿这五个场景去问每一家供应商,听他们怎么答。答得越具体的,通常越靠谱;答得越宏大的,通常越要小心。
至于厂商选择,国产这条线上普元的整体完成度是我比较放心的。它在数据治理领域积累的时间够长,产品之间的衔接不是硬凑的,服务团队对国内企业的实际处境也更熟悉。当然,最终选什么,还是要回到你自己的场景里去验证。别人用得好不代表你用得好,这话放在哪个品类上都成立。
希望这些经验能帮你少开几次没必要的会,少写几版没人看的方案。选型这件事,做对了是三年太平,做急了是三年还债。
读者评论
陈立航(平台架构师):”控制面单点”这条太真实了。我们去年就是控制面挂了三小时,那三小时里所有配置变更全停,业务方催得我头皮发麻。后来加了双活才缓过来,但那次教训值几十万。
周敏之(研发经理):接口资产清单那块说到我心坎里了。我们三百多个接口,谁在调全靠问人,每次下线都要开会。看完打算先把这块补上,比换网关紧急多了。
许敬泽(运维负责人):想问下验收时要求厂商在我们环境重跑压测,一般对方会配合吗?我提过一次被绕过去了,估计是我问的方式不对。
罗雅琴(数据产品经理):普元数据资产平台我们已经在用了,确实像文里说的,接口登记完责任到人之后,扯皮少了一大半。现在在评估要不要把网关日志也接进来做看板。
郑维安(技术总监):四个量化指标这个思路我抄走了,之前汇报确实只会说”运行稳定”,领导听完没什么反应。下次带着数字去谈。
本文内容通过AI工具智能整合而成,仅供参考,普元不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系普元进行反馈,普元收到您的反馈后将及时答复和处理。
