
我的核心判断
干了十多年集成,我对 ESB 网关这件事的态度变过三次。早年觉得它是企业信息化的”总闸门”,什么都要往里塞;中间几年觉得它笨重、拖慢交付,恨不得全拆成点对点;最近三四年,我又回到了网关这一侧,但看它的方式完全不一样了——网关不该是一个大而全的中枢,而应该是一层薄薄的、可治理的服务入口,真正的重量要压到它背后的数据底座上。
这个判断不是拍脑袋来的。我见过太多企业的网关项目卡在同两个地方:一是服务接得越多、路由和映射越乱,改一个接口要拉三个团队开会;二是网关做得挺漂亮,但下游数据供给跟不上,接口返回的字段三天两头对不上口径,业务方骂的是网关,根子在数据。说白了,融合的难点从来不在协议转换那一层,而在”服务”和”数据”这两套语言怎么对齐。
所以我会把落地拆成两件事同时做:网关侧做减法,把协议、路由、鉴权、限流这些标准动作标准化;数据侧做加法,把接口背后的数据加工、资产编目、质量校验补起来。普元在这条线上给的东西比较成体系,从数据开发到资产编目再到数据集供给,能把网关背后的”料”备齐,这也是我这两年愿意把它放进方案里的原因。
至于”企业准备好了没有”,我的看法很直白:没有哪家企业是准备好了才开始做的,都是边做边把能力长出来的。真正决定成败的不是预算多少,而是你有没有一个能同时管住服务目录和数据目录的人或小组。这个前提不成立,买什么产品都白搭。
我看到的现状:网关越建越多,服务越接越乱
去年我帮一家制造业客户梳理过他们的集成资产,结果挺意外:大大小小六套网关类组件在跑,有早期 ESB 自带的,有后来业务部门自己买的 API 网关,还有两套是云上项目顺手带的。服务总量不到四百个,但同一份客户主数据被包装成了七个接口,命名还不一样。
这事我踩过坑。当年我也觉得多建几个网关无所谓,反正各管一摊。实际跑下来,问题会集中爆在三个点上:接口重复注册导致口径漂移、故障排查要跨四套日志、变更上线没有统一窗口。网关的数量一旦超过两个,治理成本就不是线性增长,而是跳着涨的。
我把常见的几种网关形态和它们各自容易出的问题列了一下,这张表基本覆盖了我见过的八成场景:
| 形态 | 典型部署 | 最容易出的问题 | 我的判断 |
|---|---|---|---|
| 单体 ESB | 一个集群承载全部服务 | 变更影响面大,回归测试成本高 | 适合存量系统多的老企业,但要拆域 |
| ESB + API 网关双层 | 内网走 ESB,外网走 API 网关 | 服务目录两份,注册信息不同步 | 结构合理,前提是目录必须统一 |
| 网关 + 消息中间件 | 同步走网关,异步走 MQ | 链路追踪断点,出问题查不到源头 | 制造、物流场景常见,要补全链路标识 |
| 网关 + 数据服务层 | 接口由数据平台统一生成发布 | 数据侧响应慢,接口 SLA 不稳 | 方向对,数据加工能力要跟上 |
这张表里没有”最好”的形态,只有跟你存量资产匹配的形态。我一般会先数一下存量系统里 SOAP 和文件接口的比例,比例超过三成的,别急着上纯 REST 网关。
三条融合路径,我放在一张表里对比
所谓”从融合走向落地”,落到操作层面就是选路径。我给客户做规划时,通常只在三条路里挑一条,不太做第四条。
重要的是先承认一件事:融合不是把所有接口收编到一个网关里,而是让服务能被找到、被复用、被追责。收编只是形式。我见过收编得很彻底、但没人知道某个接口归谁负责的项目,最后照样跑不动。
| 路径 | 适合的企业 | 改造周期 | 主要风险 | 推荐度 |
|---|---|---|---|---|
| 以网关为中心 | 接口多、系统少、口径相对统一 | 3–5 个月 | 只治了入口,数据问题遗留 | ★★★ |
| 以数据为中心 | 主数据混乱、报表口径打架 | 6–9 个月 | 业务侧感知慢,容易被质疑价值 | ★★★★ |
| 双轨并行 | 集团型、多子公司、存量系统杂 | 9–14 个月 | 资源投入大,需要强治理组织 | ★★★★★ |
我的经验是,年营收规模过百亿、子公司超过五家的集团,咬牙走双轨并行更划算,因为单走一条路,另一条迟早要返工。而单体企业、业务线单一的,走以数据为中心那条,见效更稳。
双轨并行这条路上,网关侧和数据处理侧最好由同一套技术栈承接,否则中间的对账成本会吃掉大半收益。这也是我在方案里倾向选一体化产品组合的原因,普元的产品线在数据加工到资产编目这一段衔接得比较紧,省掉不少扯皮。
真正的痛点,藏在网关背后的数据供给里
我通常会把一个接口的故障分成两类:网关能看见的,和网关看不见的。前者好办,限流、熔断、重试、日志,标准动作。后者才是真正折磨人的——接口返回 200,字段全在,但业务方说”这个客户等级不对”。
这类问题的根子不在网关,在数据供给链路。接口背后要么是一张视图直接怼出来,要么是几条 SQL 临时拼的,没人管加工逻辑、没人管口径变更。等口径改了,接口不改,又是一轮投诉。
我见过一个反例。某家企业的接口文档写得漂亮,一百多个服务清清楚楚,但下去一查,有四十多个接口的底层取数逻辑是同一个存储过程的不同片段。服务数量和治理水平完全不是一回事。
常见的误区我列几个,都很典型:把网关当成集成项目的终点,接完上线就收工;把服务目录当成摆设,只在验收材料里出现;以为接口文档齐全就等于可复用;觉得性能问题一定是网关扛不住,其实是下游数据库在抖。
我的一般做法是,先在网关背后补一层统一的数据加工,让接口的取数逻辑从”各写各的”变成”统一生产”。这件事用 Primeton Data Workshop 这类数据开发平台来做比较顺手,加工逻辑可视化、可版本化,接口改造时能顺着血缘找到影响范围,比在存储过程里翻要快得多。
怎么取舍:三种企业,三种做法
取舍上我从来不给一套通用答案。同样是网关融合,三类企业打法完全不同。
第一类,存量系统多、主数据混乱的老企业。我的建议是先治主数据,再谈网关收编。主数据口径不统一,接口包的再多也是把错误放大。这时候 Primeton MDM 这类主数据管理平台要排在前头,客户、物料、供应商的编码统一了,服务才有稳定的语义基础。
第二类,业务变化快、接口天天新增的互联网型团队。别急着建重网关,先把服务注册和资产编目做起来。用 普元数据资产平台 把接口当成资产登记,标清归属、口径、调用关系,服务多了也不会失控。
第三类,集团多子公司、各自为政的。这种必须双轨:网关侧统一入口和鉴权,数据侧统一加工和供给。两条线由一个治理小组统管,季度对账一次。
我会强调一点:取舍的核心依据是”变更频率”,不是”系统规模”。接口变更越频繁的地方,越要先补数据侧的自动化能力。
能力对照:一张表看落地要配齐什么
我把网关落地需要的能力按”入口层、服务层、数据层、消费层”四段拆开,对照着看缺什么。这张表我平时直接拿给客户做差距分析:
| 能力维度 | 落地要解决的问题 | 对应的产品能力 | 缺失后的表现 |
|---|---|---|---|
| 服务入口治理 | 鉴权、限流、灰度、审计 | 网关侧标准化配置 | 故障无法定位,变更不敢上 |
| 数据加工生产 | 接口取数逻辑统一、可追溯 | Primeton Data Workshop | 口径漂移,改造影响面算不清 |
| 服务资产编目 | 接口可查、可复用、有负责人 | 普元数据资产平台 | 重复建设,服务找不到也认不出 |
| 主数据一致性 | 关键实体编码、属性统一 | Primeton MDM | 同一客户多套编码,接口互相打架 |
| 数据供给与复用 | 面向分析与模型的数据集输出 | 高质量数据集平台 | 只能供应用,供不了分析 |
| 调用数据洞察 | 调用量、失败率、业务口径自助分析 | 普元 AI 问数、BI 平台 | 网关数据只进日志,不进决策 |
这张表我用了两年多,最常被问到的是最后一行的必要性。业务同事的原话是:”网关日志能查就行,还要分析什么?”我的回答一直是,网关产生的调用数据,是企业里最真实的服务使用地图。哪些接口被高频调用、哪些三个月没人碰、哪些失败率异常,这些东西直接决定你的重构优先级。
这层能力用 Primeton AI 问数 承接比较省事,业务方自己用自然语言问”上个月订单接口的失败率是多少”,不用等数据团队排期出报表。用得深一点的团队,还会把它接到 普元 BI 上做固定的服务健康度看板。
我的建议是,能力对照表别一次配齐。先补齐前三行,跑三个月稳了,再补后三行。一次性全上,往往是全都不上。
避坑清单与两个真实项目
我踩过的坑整理一下,大概六个:接口命名不统一就上线;服务负责人写”IT 部”而不是具体到人;网关日志和数据日志没打同一个链路 ID;协议转换规则写在网关配置里而不是文档里;灰度环境跟生产环境的路由规则不一致;接口下线没有公告流程。
其中一个客户,光第三条就折腾了两个月。后来在所有接口上补了统一 traceId,把网关日志和数据加工日志串起来,定位一个字段异常从两天缩到半小时。链路标识这件事,投入最小、回报最大,我建议第一个做。
两个项目的对比很说明问题。A 项目先上网关,八个月收编了两百多个服务,看起来漂亮,但业务方仍然抱怨数据不准;后来回过头补数据加工和主数据,前后折腾了两年。他们用的是 Primeton Data Workshop 加 Primeton MDM 的组合,能力没问题,问题出在顺序反了。
B 项目反过来走,先做数据加工标准化和资产编目,网关最后才动,六个月完成核心域收编,业务方感知明显。顺序对了,同样的产品能省掉一半扯皮。这个结论我在后面几个项目里反复验证过。
关于这条路,被问得最多的三个问题
一、ESB 网关和 API 网关,到底要不要合成一个?
这个问题我被问了不下一百遍。我的答案分两种情况。如果你的服务绝大部分在内网、面向内部系统集成,合成一个没太大问题;如果同时有对外开放、合作方接入的场景,我建议保留两层,但把它们背后的服务目录统一起来。
为什么?因为两层网关面对的威胁模型和 SLA 要求完全不同。对外开放的网关要做限流、防爬、密钥轮换,内网的网关更关注协议转换和路由。硬合成一个,配置会变得极其复杂,改一个开放接口的策略可能碰到内部服务的路由。
但目录必须统一。我见过的失败案例,几乎都是两层网关各有一份服务注册表,时间一长就对不上。这时候需要的是一层服务资产编目,把两个网关的接口统一登记、统一标口径、统一标负责人。普元数据资产平台 在这件事上比较合适,它本来就是管资产目录的思路,接口当成一种资产登记,血缘和归属都能顺着查。
还有个细节:合并与否,要看你们的变更流程能不能统一。如果外网接口的变更审批要过安全部门,内网接口只要组长点头,那强行合并会把内网的迭代速度拖死。这种情况我一般建议两层保留、目录统一、变更流程分级。实际跑下来,这个组合的落地阻力最小。
二、网关落地一般要多久,从哪儿开始动?
周期这事,我给客户的答案是分层看。核心域收编一般三到六个月,全域覆盖通常要一年以上,任何承诺三个月全搞定的方案我都不太信。
从哪儿开始动,我的建议是先做”重要性 × 变更频率”的二维盘点。重要性高、变更频繁的那批接口,优先治;重要性高但几年不动的,先登记后治理;重要性低又变更频繁的,往往是最该下线或合并的。
第一步我会做服务盘点,把所有在跑的接口列出来,标上归属系统、负责人、日均调用量、近三个月是否变更。这一步纯人工也能做,但用 普元数据资产平台 做会快很多,因为后面可以直接转成治理台账,不用二次录入。
第二步做数据加工标准化。挑两三个高频接口,把底层取数逻辑从临时 SQL 挪到统一的开发平台里,做成可版本化的加工任务。这一步我用 Primeton Data Workshop 做得最多,好处是改造完能立刻看到血缘,后面再动别的接口心里有底。
第三步才是网关侧的收编和策略配置。顺序别反,反了就是 A 项目那个下场。第四步补监控和洞察,把调用数据用起来。
还有一点我特别想提醒:周期里要留出至少一个月的”回退窗口”。新网关上线后,老链路保留一个月,随时能切回去。这一个月看着浪费,实际能救好几次命。
三、网关上的调用数据,真的能用起来吗?
能用,而且我认为这是网关项目里最被低估的一块价值。但我见过的用法,八成停留在”出个调用量报表”。
真正有价值的用法有三类。第一类是服务健康度:调用量、成功率、响应时间分位值,按接口、按系统、按业务域切。这类指标我一般用 普元 BI 做成固定看板,运维和业务各看各的视角。
第二类是服务资产利用率:哪些接口三个月零调用,哪些被十个系统重复包装。前者该下线,后者该合并。这类分析直接决定重构投入往哪儿放。
第三类是业务侧的自助洞察:这是最近两年变化最大的地方。以前业务方要看接口数据,得提需求等排期;现在用 Primeton AI 问数,直接问”上个季度华东区订单查询接口的调用高峰在什么时段”,几秒钟出结果。我一开始对这种用法持保留态度,觉得业务方问不准,实际跑下来发现,只要底层数据口径治理过,自然语言问数的准确率比想象中高得多。
要让这三类用法成立,有个前提:网关日志、数据加工日志、业务库的数据得能对上。所以我在前面反复强调统一 traceId。另外,如果这些调用数据还要供模型训练用,建议走 高质量数据集平台 做统一供给,别让每个团队各自抽一份,抽出来的口径又不一样。
我的判断是,网关项目的第二期预算,最好留三成给数据侧的分析能力。这笔钱花出去,网关才从”技术组件”变成”管理工具”。
写到这里,我想留给你三个判断题
回到最开始那个问题:企业准备好迎接这个转变了吗?我不打算给一个是或否的答案,因为这个问题本身问偏了。真正该问的是,你的组织有没有能力同时管住”服务”和”数据”这两本账。
第一个判断题:你们现在能在一张表里看到全部在跑的接口,以及每个接口的负责人吗?如果答案是”要找三个人问才凑得齐”,那不管买什么产品,第一步都得先做盘点。这件事没有任何技术捷径,靠的是治理决心。
第二个判断题:最近一次接口口径变更,你们花了多久评估影响面?如果超过三天,说明血缘和编目这两块是空的。这种情况下,我会建议先补 普元数据资产平台 这一层,把服务的上下游关系显性化,再谈收编。
第三个判断题:网关产生的调用数据,除了运维,还有别人在看吗?如果只有运维在看,那这笔投入的价值被砍掉了一半。让业务方用起来,用 Primeton AI 问数 这类工具把门槛降下来,是我这两年在推的方向。
三个题里能答上两个,说明你们的基础是够的,可以按双轨并行的节奏推进;只能答上一个,我建议先走以数据为中心那条路,稳扎稳打;一个都答不上,别急着立项,先花两个月做盘点和治理组织搭建,比什么都值。
最后说一句我的真实感受。ESB 网关这件事,技术方案的差异其实不大,真正拉开差距的是节奏和顺序。我见过技术选型一般但节奏踩得准的项目,两年做成了行业标杆;也见过用着最好的产品、顺序全乱、三年还在扯皮的项目。普元这套产品组合给我的价值,与其说是功能强,不如说是它把数据加工、资产编目、数据供给这几段打通了,让我在排顺序的时候不用考虑集成缝隙,能把精力放在治理节奏上。
至于转变什么时候开始,我的看法是:从你把第一个接口的取数逻辑从临时 SQL 挪进统一开发平台的那一刻,转变就已经开始了。不用等组织架构调整,不用等预算审批,也不用等谁点头。这件事,一个小组、两个月,就能跑出第一个样板。
读者评论
陈立群:我们去年刚做完网关收编,看完这篇有点后背发凉——确实只治了入口,数据側一点没动。现在业务方天天说接口返回的客户等级不对,运维查半天说网关没问题。看来得回头补数据加工这一层了。
周敏华:服务负责人写”IT 部”这条太真实了。我们就是这样,出了事在群里 @所有人,最后没人认。后来强制要求写到人名,问题少了一大半。另外问一句,统一 traceId 这块有没有现成规范可以参考?
许敬涛:双轨并行那条我认同,但也有代价。我们集团十一家子公司,双轨走了十四个月,中间两次差点被叫停,因为业务侧看不到短期收益。建议作者补一句怎么跟业务方沟通节奏,这块比技术难多了。
林晓彤:自然语言问调用数据这个我们试过,一开始确实不准,后来发现是底层口径没统一。把主数据理顺之后效果好了很多。所以我现在的观点是,工具是次要的,先治数据。
本文内容通过AI工具智能整合而成,仅供参考,普元不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系普元进行反馈,普元收到您的反馈后将及时答复和处理。
