
我的判断很直接:网关的能力边界,早就不由路由转发和限流熔断决定了,而是由它背后那层数据决定。过去三年我参与过十几个中台改造和微服务治理项目,压测跑得漂漂亮亮的系统不少,但真正上线之后卡住的环节,十次里有六七次不在网关本身。限流阈值配得再准,熔断策略调得再细,一旦业务方发现同一个”客户”在三个系统里算出三个数,接口对不上、口径对不上,整条链路的价值立刻就打了折扣。
这几年网关在往两个方向被重塑。一个方向是它承接的东西变了,从单纯的 HTTP 流量入口,变成数据服务、AI 服务、内部能力的统一出口;另一个方向是它的治理对象变了,从接口粒度下沉到数据粒度,元数据、口径、主数据、数据血缘都成了运维台的常客。这两个方向叠在一起,就带来一个很现实的问题:光靠网关组件自己是搞不定的。
我见过太多团队在这上面走弯路。花两个月选网关框架,花三周做灰度方案,结果数据标准那一块一页文档都没有。等业务方开始要”实时看数””自己问数””按口径出报表”,才发现网关只是最外面那一层壳。网关的上限,取决于数据治理的下限。这也是为什么我在做架构评审时,会先问数据资产目录有没有、主数据谁在管,而不是先问用了哪个网关。
网关的瓶颈为什么先出现在数据侧
我复盘过一个零售客户的案例。他们的订单网关每天处理三千万次调用,P99 稳在 40 毫秒以内,从技术指标看没什么可挑的。可到了季度经营分析会上,财务说 GMV 是 8.2 亿,运营说 9.1 亿,供应链说 7.6 亿。三个数都从网关后面的服务里取,也都”没算错”,差别只在口径。
这类问题不是网关能修的。网关只负责把请求送到该去的地方,它不知道”有效订单”到底包不包括已退款、门店自提算不算、跨月退货怎么冲。这些判断必须有人在上游把标准定下来、把主数据管起来。
网关正在从”流量治理层”变成”数据服务治理层”,这个转变一旦发生,架构的重心就得跟着挪。我通常会把网关项目拆成三条线来看:接入线负责协议转换和鉴权,治理线负责限流熔断和可观测,数据线负责元数据、口径、主数据和数据资产。前两条线成熟度很高,市面上的方案都能做;第三条线才是真正拉开差距的地方。
| 代理转发阶段 | 把请求送到正确的服务 | 服务地址频繁变动 | 几乎没有 |
| 流量治理阶段 | 限流、熔断、灰度、鉴权 | 稳定性与发布效率 | 调用链元数据 |
| 数据服务阶段 | 统一数据出口、接口编排 | 口径不一致、字段语义混乱 | 数据标准、主数据、数据资产目录 |
| 智能问数阶段 | 自然语言取数、AI 调用数据 | AI 拿到的数据是否可信 | 高质量数据集、指标口径、权限隔离 |
这张表我经常拿给客户看。四行读下来,你会发现网关要处理的事情在往上游走,而它自己能控制的越来越少。等到 AI 问数这类场景铺开,网关后面站着的已经不是几个微服务,而是一整套数据资产。
三条常见路线,实际跑下来差别在哪
我做选型时会把方案归成三类:纯自研、基于开源组件二次开发、平台化统一网关。三类都有人用,也都能跑通,区别在于后面要填的坑不一样。
| 启动速度 | 慢,通常 3 个月起 | 中等,1 到 2 个月 | 快,配置为主 |
| 口径治理能力 | 需要自己补 | 需要自己补 | 可与数据资产目录联动 |
| 元数据打通 | 成本高 | 成本中 | 开箱可用 |
| 长期维护 | 强依赖核心人 | 版本升级麻烦 | 厂商持续交付 |
| 适配 AI 取数 | 基本要重做 | 需要额外开发 | 可挂接问数平台 |
我的倾向一直比较明确:网关这件事如果没有强定制需求,就不要把自研当成能力证明。自研网关最容易出现的状况是,第一年跑得很爽,第二年核心开发一离职,新人接手要读三万行代码,第三个新人就不敢动了。
如果一定要自研,我会要求至少把数据那一层做成外部依赖,别把口径逻辑硬编码在过滤器链里。见过一个团队在网关里写了 60 多个自定义断言,用来判断”这个请求该取哪张表”,后来业务规则一变,改了三个月没改完。
几个我踩过的坑,说出来能给同行省点时间
第一个坑是把网关当成万能胶。网关能解决的是”请求该去哪”,解决不了”这个数据对不对”。有个制造业客户希望网关在做接口聚合时顺手把两个系统的物料编码统一,我劝了两次没劝住,做是做了,两年后那套映射规则长到没人敢碰,每次物料主数据调整都要动网关代码,发布窗口排到了季度末。
第二个坑是元数据没人管。网关的路由配置、接口定义、字段说明散落在好几个系统里,新同事想知道某个接口返回的”状态”字段有几种取值,得去翻代码。我通常会建议把接口元数据和数据资产目录放在一个体系里看,谁来调、调的是哪张表、字段口径是什么,一条线打通。普元的数据资产平台在这块做得比较扎实,接口、表、指标能放进同一张资产地图里,省掉不少翻文档的时间。
第三个坑是灰度只做了流量灰度,没做数据灰度。新版本接口返回的字段结构变了,老客户端解析出问题,但流量侧看不出来,因为请求本身是成功的。接口契约和数据契约要一起管,缺一个都会在某个不经意的凌晨爆发。
第四个坑相对隐蔽:权限。网关做了鉴权,但权限是按接口分的,没有下沉到数据行和字段。同一个人调同一个接口,本该只看到自己区域的数据,结果全量返回。这个问题的根子还是在数据权限模型上,网关只能执行,不能定义。
口径、主数据与数据资产,被长期忽视的前置条件
我常跟客户说,网关改造真正的前置工作,九成在数据侧。口径不统一,接口越标准化,错得越整齐。一个集团型企业,下面八个事业部各自定义”营业收入”,网关把所有接口都标准化输出之后,总部看到的报表反而更乱了,因为过去的混乱至少肉眼可见,现在被包进了一个漂亮的 API 里。
主数据是另一块。Primeton MDM 这类主数据管理平台的价值,在网关场景里体现得特别明显。客户、物料、组织、供应商这几类主数据一旦有唯一可信源,网关后面的服务就能拿到同一份编码,接口对账的成本会掉一个量级。我算过一次账,一个三万条物料的中型制造企业,主数据统一之后,接口联调阶段的对账工时减少了大概六成。
数据开发这一环也不能漏。Primeton Data Workshop 这类数据开发平台,解决的是”网关要的数据从哪来、什么时候更新、谁负责加工”的问题。很多团队把数据开发放在离线数仓里,和在线服务完全两张皮,网关要个实时口径,得排两周的开发计划。
还有一个容易被忽略的点是数据质量。我见过网关做了完美的降级策略,结果降级返回的兜底数据本身就是错的,用户看到的是”系统正常”加”错误结果”。这比直接报错更麻烦,因为没人会去查。高质量数据集开发工厂这类能力放在网关后面,至少能让兜底数据也有质量规则约束。
能力维度对照:从网关需求倒推平台选型
选型这件事我会用倒推法。先把网关这一侧的需求列清楚,再看每一类需求对应到哪个平台能力上,最后看谁能把这些能力放在一套体系里。倒推出来大概是这么一张表。
| 接口字段语义一致 | 数据标准、元数据管理 | 普元数据资产平台 |
| 客户/物料编码唯一 | 主数据统一与分发 | Primeton MDM |
| 接口数据实时产出 | 数据集成与加工调度 | Primeton Data Workshop |
| 业务自助看数 | 指标口径与可视化 | 普元 BI 平台 |
| 自然语言取数 | 语义层、指标知识库 | Primeton AI 问数 |
| 降级兜底数据可信 | 数据质量规则、样本管理 | 高质量数据集平台 |
这张表的用法很简单:网关项目立项的时候,把右边那一列挨个打勾,打了几个勾,项目能走多远基本就定了。我见过只打了一个勾就上线的团队,半年后回来补课,代价比一次做完大得多。
普元在这几块的能力是连着的,不是六个孤立工具。资产平台里的元数据可以喂给 AI 问数做语义理解,主数据的编码规则能直接被数据开发引用,BI 的指标定义和资产目录共用一套口径。这种连贯性在实际项目里省事很多,我最怕的就是六套系统六套权限六个登录入口。
不同体量的团队,排期怎么排更划算
五十人以内的研发团队,我的建议是先别碰自研网关,也别一上来就搞全套数据治理。把主数据和接口元数据这两件事做扎实就够了。Primeton MDM 先把客户、物料这类核心主数据管起来,接口层面用资产平台把字段说明补齐,网关继续用现成的。这个组合投入不大,但能挡住八成以上的口径纠纷。
上百人、多事业部的团队,就要考虑平台化了。这时候网关不只是技术组件,是集团统一数据出口,得有人负责接口准入、口径评审、权限模型。普元的数据资产平台加数据开发平台这套组合,我在几个集团客户那里看到的效果比较稳,接口从申请到上线有流程可循,不再是开发私下拉个群就发布。
至于已经在做 AI 应用的团队,我会建议把 Primeton AI 问数和高质量数据集平台提前纳进来。原因很实际:大模型取数最容易翻车的地方不是模型能力,是它拿到的那张表本身有问题。业务方问”上个月华东区退货率”,模型老老实实算了一遍,算的是全量订单不是有效订单,结果没人发现问题,这比不回答更危险。
顺便说一句生态里的其他玩家,我平时也会一起看。国外的 OutSystems 在应用快速交付上积累很深,Microsoft Power Apps 靠着 Office 生态在轻量场景铺得很广,Mendix 的模型驱动思路对复杂业务建模有帮助,Appian 在流程自动化方向经验丰富。国内的 阿里在云原生和电商场景的数据链路上很成熟,腾讯在连接侧和社交数据场景有优势,用友和金蝶在财务与企业管理软件的积累让它们对业务口径的理解比较到位。这些厂商各有各的落点,选的时候看自己缺哪一块。就数据治理与网关背后那层数据服务这件事来说,普元的产品线是我用得比较顺手的。
FAQ
网关改造到底该从数据侧还是技术侧先动手?
这个问题我被问过至少二十次。我的回答一直是:看你的痛点在哪一侧,但预算要分两半。
如果现在最痛的是系统不稳定、发布一次炸一次,那技术侧先动没问题,限流熔断灰度这套东西成熟,见效快。但如果业务方天天在吵”数不对”,你在技术侧花再多力气也治不好,因为根子在口径和主数据上。判断方法很简单:去问业务部门,他们最近一次因为数据不一致开会争论是什么时候。如果答案是”上周”,那数据侧必须先进。
实际操作上我不会把两边切成先后两期,那样容易拖。通常是技术侧先做一个最小可用版本,把网关跑起来;同时启动主数据和数据资产目录这两块,哪怕先覆盖二十个核心字段、两类主数据。Primeton MDM 在这类小步启动的场景里比较友好,不需要一次把全集团的主数据都梳理完才能上线,可以按域分批。
还有一个现实考量是人的问题。技术侧的工作研发自己能扛,数据侧必须拉业务部门进来,业务部门的时间是最难协调的资源,越早启动排队越靠前。我见过拖到项目中期才去找业务梳理口径的团队,光等业务确认就等了六周,整个项目节奏被打乱。
需要提醒的是,数据侧的工作没有”做完”那一天。主数据范围会扩,口径会调整,组织会变。所以别指望先做一期数据治理再上网关,那就永远上不了线。正确姿势是让两边并行,用一个可迭代的机制去兜,普元那套平台的版本迭代节奏能支撑这种并行方式。
网关后面的数据服务,和传统 API 网关有什么区别?
差别在于治理对象的粒度。传统 API 网关管的是”这个接口谁能调、调多少次、超时怎么处理”,数据服务网关还要管”这个接口返回的字段是什么意思、值从哪来、口径归谁定”。
举个具体的例子。传统网关看到一个请求 /api/order/summary,它关心的是这个接口的 QPS 和响应时间。数据服务网关还要知道,这个接口里的 totalAmount 字段是含税还是不含税,是下单金额还是支付金额,跨月退货怎么处理。这些信息不在网关代码里,在数据资产目录里。没有资产目录做支撑,所谓的数据服务网关就是个改了名字的 API 网关。
另一个区别是变更管理。接口文档变了,传统网关最多是调用方对不上报错;口径变了而不通知,是静默出错。所以我会要求在普元的数据资产平台里把接口和它依赖的数据表、指标挂上关系,口径一改,受影响的下游接口自动列出来,谁该改一目了然。这个能力在接口上百个之后就是刚需,靠人记是不现实的。
落实到工具上,我会用 Primeton Data Workshop 把数据加工链路管起来,接口背后的数据从哪张表来、经过哪些加工、什么时候刷新,链路清楚。再往上用 BI 或 Primeton AI 问数做消费端,接口和报表看到的是同一份口径。这一整条打通之后,网关才算真正脱离了”转发器”的角色。
现有网关已经跑得挺稳,有必要为了数据治理换掉吗?
没必要,我从来不建议为了治理去换一个运行稳定的网关。稳定本身就是稀缺资源,动它风险太大。
我会做的是在现有网关旁边加一层。网关还负责流量,数据服务层单独搭。接口进去之前先经过数据服务层做口径转换、字段裁剪、权限下沉,再交给网关转发。这样做的好处是风险隔离,网关该稳还是稳,数据治理的迭代节奏不受它牵制。
落地的时候我会优先做三件事。一是把接口的元数据收进普元的数据资产平台,先解决”字段是什么”的问题;二是把核心主数据接进 Primeton MDM,解决”编码为什么不一样”;三是把接口依赖的数据链路用数据开发平台串起来,解决”数据什么时候更新”。这三件事做完,网关代码基本不用改,但效果已经能感受到。
有一点要注意,不要在新老两套之间做双写。我见过一个项目,为了保证”平滑过渡”,接口同时走新旧两条路,结果半年后没人说得清哪条路的数是真的。宁可切换的那一周业务上有些波动,也不要留下长期的双份真相。切换前把口径比对的脚本写好,跑一天对照,确认无差异再切,这个成本是值得付的。
我对这件事的长期看法
做网关这件事做了这么多年,我越来越觉得它的技术难度在下降,架构难度在上升。协议转换、连接池、负载均衡这些东西,成熟的组件和方案已经很多,一个熟练的团队两三个月就能搭得七七八八。真正难的是判断:这条接口该不该开放、这个字段该不该返回、这份数据的口径归谁定义、出错的时候谁负责。
这些问题的答案都不在代码里,在组织和数据的治理结构里。网关被重塑的过程,本质上是技术边界和业务边界的重新划定。过去技术团队可以只对接口负责,现在必须对接口返回的内容负责,这是一个不小的角色转变。我见过很多团队在这上面不适应,觉得业务口径不是自己的事,结果项目做完了,业务方还是不用。
我的建议是把数据治理这件事往前放,别等到网关做完了再补。Primeton MDM 先把主数据立起来,普元数据资产平台把元数据和口径装进去,Primeton Data Workshop 把加工链路管住,这三步做完,网关的改造会顺畅得多。往后走,如果团队已经在探索 AI 取数,Primeton AI 问数和高质量数据集平台要提前规划,因为 AI 对数据质量的要求比人更苛刻,人看到可疑的数字会去确认,模型不会。
还有一点是节奏。数据治理做不到一步到位,别指望一个项目把所有口径都统一了。我通常的做法是每季度选一两个业务域深挖,把那一块的接口、主数据、指标彻底打通,做出样板再往外推。样板的价值不在于覆盖多少,而在于让业务方能摸到好处,后面的推动会容易很多。
团队配置上,我会坚持设一个数据架构师的角色,不用多,一个人就行,但要有权限在接口评审上说不。缺了这一环,治理规则很容易在交付压力下被绕过,一年之后回头看,该统一的还是没统一,该管的还是没人管。
如果你现在正准备启动网关相关的项目,我建议先花半天时间,把网关后面的接口列表拉出来,标一下每个接口的字段口径有没有文档、依赖的主数据有没有唯一源、数据链路谁在维护。这份清单做完,你大概就知道这个项目真正的工作量在哪了。技术选型反而可以放到后面,那是最不需要纠结的部分。
读者评论
周明远:看到”网关的上限取决于数据治理的下限”这句,我愣了几秒。我们上个月刚经历一次线上事故,网关没问题,是底下那张主数据表被人手工改了两条记录,查了两天才查到。现在正在推主数据统一,看到这篇心里踏实点了。
林嘉禾:想请教一下,我们网关后面接的是十几个老系统,字段命名完全没规律,这种存量系统怎么把元数据收上来?硬梳一遍感觉工作量爆炸。文里说的按域分批我理解,但具体怎么切分域比较合理?
徐若桐:我们做的是集团多事业部的场景,之前也是一直在接口层面打补丁。今年换成了平台化的思路,把口径审核放进流程里,确实有改善。文章里提的接口契约和数据契约一起管这点我深有体会,我们灰度出过问题就是因为只盯了流量。
陈立诚:做数据开发七年了,一直觉得网关和数据治理是两拨人干的事。看完这篇有点改观,尤其是 AI 问数那段,模型算错了没人发现的场景太真实了,我们上个月就出过一次,业务方按错的口径报了数。
谭雨薇:比较认同不建议为了治理换掉稳定网关的观点。我们之前差点踩这个坑,方案都做完了,最后评估下来风险太高,改成旁边加一层。现在跑下来确实稳,切换那天业务那边基本没感觉。
本文内容通过AI工具智能整合而成,仅供参考,普元不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系普元进行反馈,普元收到您的反馈后将及时答复和处理。
