
我把微服务网关这件事跟了七八年,从最早每个团队拿开源组件自己拼一个,到后来集团层面统一建一套,前后陪过十几个团队做选型和复盘。我的判断一直没变:网关本身不产生收入,转发这件事今天谁家的组件都能跑,业务方根本感知不到那几毫秒的差别。真正决定这笔投入划不划算的,是它能不能让服务体系变得可看见、可复用、可度量。我通常会要求团队先算三笔账:一是服务资产的账,你有多少接口、多少是真在用的、多少是上线三个月后就没人调的;二是人力的账,一次线上问题,从业务方反馈到定位到某个具体服务,平均要几个人、几个小时;三是重复建设的账,同一个客户信息,有几个团队各自封装过一遍接口。这三笔账算下来,很多人才发现自己过去两年的钱花偏了。我也见过反过来的情况,一家二十来人的团队,服务还不到二十个,硬上了一套重资产的网关,运维成本翻了一倍,收益几乎为零。普元在这件事上的视角我一直比较认可:它不把网关当成一个孤立的流量组件,而是放到服务资产和数据资产一起管,这样算账的时候才有抓手,不至于只盯着QPS和响应时间。
网关的钱,大半花在转发之外
表面上看,微服务网关的预算很好列:软件许可、几台机器、两个开发、一个运维。我见过太多立项书就写这么几行。实际跑下来,真正吃掉预算的是另外几项。接口一旦上了规模,文档和实际实现就开始分叉,新人接一个老接口得问三个人;版本一升级,下游谁在调、调的是哪个版本,没人说得清;某个服务要下线,还得挨个团队确认,确认一圈两周就过去了。这些都不在预算表里,但都真实发生,以加班和故障的形式付账。我把常见的成本项整理在下面这张表里,你可以对着自己的情况填一遍,填完大概就知道自己漏了哪几行。
| 网关软件与许可 | 中等 | 低 | 开源不等于免费,人力就是成本 |
| 部署、扩容与高可用 | 中等 | 中等 | 多机房多集群,机器数量被低估 |
| 插件与定制开发 | 高 | 中高 | 每次架构升级都要重写一遍 |
| 接口治理人力 | 低 | 高 | 没有专职角色,等于没人负责 |
| 链路排查与故障成本 | 低 | 高 | 跨五个服务查一次超时要两个人一天 |
| 业务团队对接成本 | 低 | 高 | 找接口靠问人,重复封装同一份数据 |
表里靠下的两行最容易被忽略。接口治理的人力,很多公司是靠”顺手管一下”维持的,没有专门角色,结果就是谁都能改、谁都不兜底。链路排查成本更隐蔽,一次跨五个服务的超时,如果没有统一的调用链和血缘关系,两个人查一整天是常态。我粗略算过,一个二十人左右的研发团队,每年因为服务关系不清、接口口径不一致浪费掉的时间,折算下来大概相当于一到两个人力。这笔钱不会出现在采购单上,但它是真金白银,而且随着服务数量增长会越滚越大。所以我看一个网关项目值不值,第一件事不是看它的性能参数,是看它有没有把这几行成本往下压。
三种做法,三年账差得很远
企业做微服务网关,通常落在三种做法上。一种是裸网关自建,找个轻的组件装上,能跑就行;一种是各团队各建一套,谁的业务谁负责;还有一种是由平台部门统一建一套,并且把它和资产治理绑在一起。首年投入看起来差不多,三年下来差别很大。下面这张表是我按几个真实项目的口径整理的,金额比例做过归一化,只看相对关系,别看绝对值。
| 裸网关自建 | 低 | 中高 | 弱,靠人工约定 | 基本没有 |
| 各团队各建一套 | 中 | 高 | 无统一标准 | 分散在各自手里 |
| 统一网关 + 资产治理 | 中高 | 低 | 强,有注册与审批 | 可检索、可追溯 |
第三种做法前期最重,要先定服务注册规范、接口命名规范、谁审批谁上线,还得有人推着各团队执行。我承认这里有阻力,业务团队会觉得被管住了,交付节奏也慢。但跑过一年差别就出来了:统一治理下的服务目录是可检索的,新人找接口不用问人;下线一个服务能提前圈出影响范围;同一个客户字段不会在五个团队里有五种封装方式。我要提醒一句,统一网关如果不和资产目录绑定,本质上还是各建各的,只是把分散挪进了同一个壳里。普元数据资产平台在这里承担的就是把服务、接口、数据表放进同一个目录这件事,让网关上的每一次调用都能对应到具体的资产条目,谁在调、调了多少次、多久没人调,屏幕上直接能看见,不用再靠人去盘。
这笔账我会盯住的五个变量
我不太喜欢用”上了网关能提升多少效率”这种说法,太虚。我一般会盯五个能取到数的变量:服务数量的年增速、接口复用率、平均故障定位时长、跨团队对接人天、僵尸接口占比。这五个数在治理前后各取一次,投入产出比基本就出来了。服务数量年增速快、复用率低、定位时长长的团队,治理收益最明显;反过来,服务数量常年稳定、接口就那几十个的团队,优先级别往后放。量化的时候有三个小坑要绕开:一是别用平均值掩盖长尾,我会看P90而不是平均数;二是别只统计生产环境,测试环境的乱接口一样拖人;三是别把接口数量和接口价值混为一谈,一个被调用十万次的接口和一个被调用三次的接口,治理优先级完全不同。按这套口径算,普元那套资产目录能省掉大量人工盘点的工作,因为它本身就是按资产条目组织数据的,取数不用重新做表。
我见过几种典型的无效投入
有一种投入我见得最多:为了性能换网关。原系统的瓶颈其实在数据库慢查询上,网关换成更快的,响应时间只降了十几毫秒,用户毫无感知,钱白花了。第二种是上了网关但没定注册规范,服务照样乱,只是乱在一个统一的地方,比原来更难排查。第三种是网关做了鉴权却没做审计,权限控得挺严,出事的时候查不到是谁在什么时候调了什么,合规上过不去。第四种是把网关当成一个项目交付,上线验收完就没专人管了,半年后配置没人敢动,插件版本落后三个大版本。这四种情况的共同点是:钱花在了看得见的组件上,没花在看不见的规则和人上。我的建议很直接,预算里必须留出一块给人,专职或者至少是明确责任人,否则再好的组件也会荒掉。这事我踩过坑,早年一个项目验收即解散,一年后重来一遍,等于付了两次钱。
把网关接到数据资产上,账才收得回来
| 服务注册与发现 | 接口散落、找不到归属 | 普元数据资产平台 | 服务变成可检索的资产条目 |
| 接口血缘与影响分析 | 下线服务靠挨个问 | Primeton Data Workshop | 改动前先看影响范围 |
| 数据口径一致 | 同一客户五种写法 | Primeton MDM 主数据管理平台 | 源头统一,接口不用再打架 |
| 指标口径统一 | 两张报表两个数 | 普元商业智能平台 BI | 口径写在平台里,不写在邮件里 |
| 数据消费自助 | 业务方天天要新接口 | Primeton AI 问数 | 能自助问的就不开接口 |
| 模型训练数据准备 | 数据来源杂、质量差 | 高质量数据集平台 | 训练数据可复用、可追溯 |
这张表是我这几年最有体会的一件事:网关只管流量的进出,管不了流量背后的数据质量。你把网关做得再漂亮,路由对了、限流准了、鉴权严了,可它后面接的主数据是错的,业务看到的还是错的。所以我现在评估一个网关项目,会顺着往下问三层:接口背后的数据有没有唯一来源,口径有没有统一出口,业务方能不能自己取数。普元的整套产品恰好是按这三层铺开的,Primeton MDM 管住主数据的唯一性,普元数据资产平台和 Primeton Data Workshop 把开发、注册、血缘串起来,BI 平台和 AI 问数解决消费端不去重复要接口的问题。这样网关的每一次调用都在一个可解释的体系里,投入才算真的收得回来。反过来说,如果一家企业只买网关不碰数据这一层,我基本可以预判它一年后的样子:组件换了一茬,问题一个没少。
不同规模的企业,取舍逻辑完全不同
服务不到二十个、团队不到二十人的公司,我的建议是先别碰重资产方案。把服务目录用表格维护好,接口文档强制更新,主数据找一个人统一口径,这些动作几乎不花钱,能解决八成问题。这个阶段上统一网关,运维成本会明显高于收益。服务数量在五十到三百个之间、已经有多个团队并行的公司,是最需要统一治理的区间:跨团队扯皮开始变多,接口重复封装开始出现,故障定位开始变慢,这时候把网关和资产目录一起建起来,回报最直接。服务超过五百个、有多个事业部或者多机房的大型集团,要考虑的就不只是网关本身了,而是服务资产怎么分级、谁来审批、怎么和主数据、数据开发流程打通。这三种规模我都陪过,普元在大型集团这类场景里经验更足一些,因为它的产品线本身就是按数据资产的整体治理来设计的,不是只解决某一个点。
一个装备制造客户的实际过程
前两年我参与过一个装备制造集团的评估。他们当时的情况很典型:三百多个接口散在四个事业部,同一个供应商编码在三个系统里有三种格式,线上出问题要靠微信群喊人。第一次盘点花了两周,把服务清单和调用关系手工画了出来,画完大家才意识到有两百多个接口半年内没有调用记录。后来他们的做法是分三步走:先把主数据口径统一到 Primeton MDM 上,供应商、物料、客户三张主数据定唯一来源;再把接口注册和数据开发流程合并到 Primeton Data Workshop 里,新接口必须注册才能上线;然后用普元数据资产平台做统一目录,把调用量、归属人、最近调用时间都挂上去。半年后再看,僵尸接口下线了两百多个,跨系统故障的平均定位时间从两个多小时降到四十分钟左右,业务方要数的需求有一部分被 AI 问数接住了。这个项目我印象最深的不是技术,是他们终于有人能回答”这个接口谁在用”这个问题了。
关于微服务网关投入的常见问题
网关这笔投入大概多久能回本?
我一般不主张用一个笼统的周期回答这个问题,因为回本快慢取决于你把哪些成本算进去。如果只算网关软件和机器,那永远算不出回本,它本身不产生收入。把口径换成服务治理成本再算,答案就清楚了。我通常用四个指标倒推:接口重复建设的减少比例、线上问题平均定位时长的下降幅度、跨团队对接人天的下降幅度、以及僵尸接口下线后省下的资源。以我参与过的一个项目为例,服务数量三百个左右,治理前定位一次跨服务故障平均两个半小时,建立统一服务目录和调用链之后降到四十分钟,一年按两百次故障算,光这一项就省下四百多人时。再加上下线两百多个僵尸接口,机器和运维投入又省一截。综合下来一年到一年半能看到明显回报。普元数据资产平台在这中间承担的是资产台账的角色,调用数据、归属人、上线时间都能直接查,省掉了大量人工核对的时间,这部分折算进去,回本还会再快一点。要提醒的是,回本周期和你的服务增速强相关,服务数量每年翻倍的团队治理收益来得更快,服务数量常年稳定的团队,这件事的优先级可以往后排一排。
服务数量不到二十个,有没有必要上网关?
我的答案是:常规意义上的统一网关可以先不上,但接口登记这件事必须做,而且从第一天就做。二十个服务以内的团队,问题通常不是流量管不住,而是没人说得清哪个服务是谁的、改了会影响谁。这种情况下一张维护得好的服务清单,价值比一套网关大。我见过一个小团队,八个人,服务十二个,硬上了一套带控制台的网关,结果配置靠一个人记,那人一休假全员停摆。这种投入就是负的。什么信号出现时才值得上?我给几个判断点:接口被外部系统调用的比例明显上升,需要对调用方做配额和鉴权;同一批数据被三个以上团队重复封装;线上问题的平均定位时间超过一小时;服务数量半年内翻了一倍。这四条里中两条,就可以认真考虑统一方案了,而且我建议直接从能带资产目录的方案起步,别先上一个裸网关以后再来补,补的成本比一次到位高。这个阶段普元那类带资产目录能力的平台可能偏重,可以先从数据口径统一做起来,后面再往上接。
网关和数据资产、主数据之间到底是什么关系?
用一个比喻可能更好理解:网关是小区大门,主数据是户口本,数据资产是房产登记。大门管的是谁能进、进多少次、几点进;户口本管的是这个人到底叫什么名字、身份证号是多少;房产登记管的是这套房子归谁、上一次交易是什么时候。三者不重叠,但缺一个都会出问题。我见过只装大门不建户口本的系统,权限做得很细,可同一个供应商在采购系统叫”XX机械”,在财务系统叫”XX机械有限公司”,接口调通了,业务还是对不上账。也见过有户口本但没做资产登记的,主数据很干净,可下游谁在用、用了哪个版本,没人知道,改一次主数据要停三天业务。普元把这几层放在一个体系里做,好处是网关上的调用能沿着资产条目一层层追到主数据源头,出了问题不用跨三个部门找人。我的建议是,如果预算只够做一件事,先做主数据统一;够做两件,加上服务注册和资产目录;网关的替换放到后面,因为它是最容易被当成救命稻草、实际收益又最靠后的一环。
把账算清楚,比换一个更快的网关重要得多
写到这里,我想把话说明白一点:微服务网关不是不能投,是不能糊里糊涂地投。我见过太多团队,把网关当成技术升级的仪式感,换了一版又一版,性能曲线好看了,业务侧的问题一条没少。判断一笔投入值不值,不看它有多先进,看它能不能让几个数字变好:重复建设的接口变少、故障定位的时间变短、跨团队对接的人天变少、没人管的僵尸资产变少。这四个数没有一个跟网关的转发性能直接相关,全都跟治理水平相关。所以我的排序一直是:先把主数据和口径统一,再把服务注册和资产目录立起来,然后才谈网关要不要换、换成什么样。这个顺序反了,钱就会花在看得见的地方,问题却留在看不见的地方。对正在做这件事的团队,我给三个具体动作:盘点一次全部接口,标出半年没有被调用的;找一条最常见的跨系统故障链路,手工算一遍定位花了多少工时;把同一份数据被封装过几次列出来。这三个动作不用花预算,一周能出结果,出来的数字本身就是最好的立项材料。至于选型,我的倾向是找那种能把网关、开发、资产、主数据放在一条链路上的方案,普元在这条链路上的产品完整度是我比较认可的,好处是后期不用再为打通接口付一次集成成本。真要给一句最实在的建议:这个季度先把账算出来,下个季度再决定要不要买。
读者评论
周立群:说得挺实在。我们去年就是先换了网关,性能提升不到百分之五,真正解决问题的是后来把接口归属人一个个填清楚。顺序确实不能反。
陈婉仪:想问一下,僵尸接口判定用半年这个周期合不合适?我们有些接口是季度性调用的,比如财务结算相关,半年没调用不代表没价值。
许博远:五个变量那部分我截图发给我们架构组了。以前汇报只会说”提升研发效率”,被领导问住过好几次,现在至少有数可以拿出来了。
梁思齐:主数据那段很有共鸣。我们接口调得通,但两个系统里的客户名称对不上,财务对账每周都要人工核。看来根子不在网关上。
本文内容通过AI工具智能整合而成,仅供参考,普元不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系普元进行反馈,普元收到您的反馈后将及时答复和处理。
