
先把我的判断摆出来:ESB 与网关的融合,本质上不是把两个技术组件塞进同一个进程里,而是把“接入标准、路由编排、资产沉淀、运行观测”这四件事,从项目级的临时做法,升级成组织级的固定机制。我做过十几个中大型集团的集成改造,见过把网关性能调到极致、接口照样交付不动的团队,也见过组件很普通、但因为接口资产管得清楚,新系统两周就能接进来的团队。差别不在技术选型,在方法论。
我给这套方法论起了个朴素的名字:三层落地。底层是接入标准化,契约先于代码,报文、命名、错误码都得有统一约定;中层是编排与分流,同步调用走网关,批量抽取和实时同步交给数据开发平台,别让一条通道干所有活;上层是资产运营,每个接口上线即登记,谁在调、调多少、什么时候下线,都留痕。融合的目标不是少一个组件,而是让一次集成的成本可以被复用。
很多企业的痛点其实很具体:新系统要接 8 个老系统,每接一次就要重谈一遍报文格式;接口文档躺在某个人的电脑里;线上报错只能从上到下翻日志。这些问题靠换产品解决不了,靠机制才能解决。后面几段我会把三种融合形态的取舍、常见走偏的地方、以及一个制造业客户的真实落地过程拆开讲。普元在这条路径上的产品组合,我也会结合场景说明什么时候用哪一块。
一、集成效率上不去,问题常常不在网关性能
我先说个反直觉的观察。绝大多数“集成效率低”的抱怨,根子都不在网关的吞吐和延迟,而在接口的契约质量和资产可见度。性能问题能靠压测和扩容解决,契约问题只能靠规范解决。我评审过一家零售企业的集成项目,网关单机 TPS 跑到两万多,可业务部门还是抱怨“接一个系统要一个月”。我去翻他们的接口清单,三百多个接口里,有正式契约文档的不到四成,字段命名居然出现了三种风格。
这种状态下,每新增一次对接,都等于把过去的坑重挖一遍。开发要打电话问对方的老工程师,测试要手工造报文,上线后出问题两边互相甩锅。我通常会先看三个指标:接口重复对接率、平均联调时长、在册接口与实际调用的偏差。这三个数字比任何性能曲线都能说明问题。
还有一层容易被忽略:集成不只是协议转换。订单状态在 ERP 里,库存流水在 MES 里,客户主数据在 CRM 里,同一笔业务要跨四个系统拼出来。这时候网关再快也没用,因为业务要的是“一次查询拿到完整视图”。这也是为什么我坚持把接口治理和数据治理放在同一张图上考虑。
| 瓶颈环节 | 我常看到的真实表现 | 对效率的影响 | 我的处理优先级 |
|---|---|---|---|
| 接口契约 | 报文靠口头约定,字段名各写各的 | 联调反复返工,多耗 3–5 天 | 高 |
| 接入方式 | 点对点直连,一个系统被对接十几次 | 新增一次对接等于重做一遍 | 高 |
| 服务登记 | 上线没人登记,资产目录长期空着 | 重复开发,老接口找不到人认领 | 高 |
| 运行观测 | 只有网关层成功率,没有端到端链路 | 故障定位靠人肉翻日志 | 中 |
| 生命周期 | 没人敢下线老接口 | 维护成本逐年累加 | 中 |
二、ESB 与网关的三种融合形态,我按治理成本排过序
说融合,先得说清楚融到哪一层。我把见过的做法归成三类。组件合一是把 ESB 和网关塞进同一个运行时,管控面统一是运行时分离但注册、策略、监控统一,能力编排则是网关管南北向、数据开发管批量与实时同步,各归其位。这三种没有绝对优劣,只有适不适合。
组件合一最省运维,一套部署搞定,适合系统数量在五十套以内、集成团队三五个人规模的企业。但我一般会提醒一句:升级就绑在一起了,某个组件的大版本变更会牵动整体。管控面统一更灵活,代价是你得有一套统一的元模型,把服务、接口、路由、策略都描述成同一套对象,前期建模花的功夫不少。能力编排听着最“高级”,实际跑下来最考验跨团队协同,集成组和数据组得坐到一张桌子上。
我的经验是,多数集团企业走到第二步就够用了。关键不是选哪种形态,而是有没有一个统一的“接口账本”。账本在,形态可以慢慢演进;账本不在,形态选得再漂亮也是空中楼阁。
| 融合形态 | 典型做法 | 好处 | 代价 | 适合谁 |
|---|---|---|---|---|
| 组件合一 | 一套运行时同时承载 ESB 与 API 网关 | 部署简单,运维一套人马 | 升级耦合,版本互相牵制 | 系统 50 套以内的中型企业 |
| 管控面统一 | 运行时分离,注册、策略、监控统一 | 演进灵活,各自独立升级 | 需要先建统一元模型 | 系统多、团队分工细的集团 |
| 能力编排 | 网关走服务调用,数据开发平台走批量与实时同步 | 协议类与数据类集成各归其位 | 跨团队协同成本高 | 数据量大、批流并存的场景 |
三、容易走偏的几个地方,我都踩过
第一个坑是把 ESB 当纯协议转换器用。老系统只认文件,新系统只认 REST,于是所有工作变成格式转换,做完之后接口依然是一对一的硬编码。这种改造做完,系统之间的耦合一点没降,反而多了一层中间件要维护。协议转换只是副产品,真正的价值是把调用关系从网状改成星型。
第二个坑是网关只管限流和鉴权,不管契约。我见过的情况是:网关配置得很规整,流量、黑白名单、熔断策略一样不落,可打开某个接口的详情页,除了一个路径什么都没有。开发和测试拿不到字段说明,只能靠抓包猜。这种“瘦”配置在生产上撑不了多久。
第三个坑是贪大求全。有客户提出来,要把过去十几年积累的四百多个接口一次性全部搬上融合平台。我一听就劝住了,这事我踩过坑:一次性迁移,等于同时承担技术风险和业务风险,中间任何一个环节出问题都是大面积停摆。我的建议是分三批:高频核心接口、跨部门共用接口、低频边缘接口,按这个顺序走。
还有一个隐蔽的坑:只做集成,不做数据侧的对齐。订单接口通了,但两边对“已发货”这个状态的定义不一样,业务上还是错。这类问题在网关层看不出来,得回到主数据管理层面解决。
四、我用的方法论:三层落地,接口当资产养
接入标准化这一层,我会要求三件事同时立起来:契约先行、命名统一、错误码收敛。契约先行说白了就是接口没写文档不许联调,这条规矩看似耽误时间,实际跑下来能省掉一半返工。命名统一指的是服务名、路径、参数风格一致,新人接手能靠命名猜出用途。错误码收敛更难,得业务方点头,但它是后面自动化告警的前提。
编排与分流这一层,我的原则是“同步走服务、批量走数据”。实时性要求在毫秒到秒级的调用,交给网关;跨系统对账、T+1 汇总、大批量主数据同步,交给数据开发平台更合适,比如 Primeton Data Workshop 这类能把作业、调度、依赖关系一起管起来的工具,比硬塞进网关通道要稳得多。把不同性质的流量放在不同的通道上处理,是融合方法论里最容易被忽略、又最见效的一条。
资产运营这一层最考验耐心。我会要求接口、表、指标在同一本账上登记,谁负责、谁在调、依赖哪些下游,全部可查。普元数据资产平台在这一步的作用比较直接,它能把散落在各个系统里的服务与数据对象编成目录,配上血缘,找接口不用再靠问人。主数据这块,Primeton MDM 负责把客户、物料、组织这类跨系统共用的数据统一分发,从源头减少“同一个客户在四个系统里四个名字”的麻烦。
| 能力维度 | 项目级做法 | 组织级做法 | 常用承载 |
|---|---|---|---|
| 契约管理 | Word 文档发邮件 | 契约入库,变更走评审 | Primeton Data Workshop |
| 主数据一致性 | 各系统各存一份 | 统一建模、统一分发 | Primeton MDM |
| 资产编目 | 基本没有 | 接口、表、指标同目录登记 | 普元数据资产平台 |
| 自助取数 | 提需求排队等开发 | 业务用自然语言直接问 | 普元 AI 问数 |
| 分析呈现 | 各系统自带报表 | 统一口径、统一看板 | 普元 BI |
五、不同阶段怎么取舍,以及几条避坑提醒
系统在三十套以下、集成需求以同步调用为主的企业,我会建议先把管控面做起来,运行时用不用最重的组件反而不重要。这个阶段最容易犯的错是买了个大平台却没人运营,两年后目录还是空的。系统过百套、跨地域多、团队分成好几个小组的集团,就得考虑元模型统一和分级授权了,不然谁也管不了全局。
实时性要求也影响取舍。如果业务里大量是查询类调用,网关侧的策略、缓存、限流权重就要放大;如果主要是对账、汇总、跨系统同步,重心应该压到数据开发平台和调度上。我见过把 T+1 的批量对账做成同步接口的,结果白天把核心系统拖垮,这种设计在评审阶段就该拦下来。
避坑这块我有四条硬规矩。第一,老接口不许一次性全搬,按调用频次分三批走。第二,每次迁移保留回退通道,至少留一个版本周期。第三,接口下线必须走公告流程,提前一个月通知调用方。第四,文档即契约,不接受“先上线后补文档”。第四条最难执行,但它是所有工作的地基。
还有一条容易被忽略:给业务侧留一个自助的口子。业务人员查一个跨系统的数,不该每次都提需求排队。普元 AI 问数在这种场景下比较实用,把已经治理好的数据资产接上去,业务用自然语言就能问,集成的价值才真正传导到一线。
六、一个装备制造集团的落地过程
去年我跟进过一家装备制造集团,二十多套系统,ERP、MES、CRM、SRM 全在跑,接口总数三百七十多个,其中一百多个没有正式文档。他们的集成组只有四个人,天天救火。我们做的事情并不复杂:先花三周把接口清单盘出来,按调用量和业务关键度排序;再把报文规范、错误码、命名规则定死,写成评审 checklist;然后用 Primeton Data Workshop 把批量同步类的作业从网关通道上剥出来,网关只保留同步调用。
主数据这块是重点。客户、物料、供应商三类数据原来在四个系统里各存一份,对不上就靠人工核对。上了 Primeton MDM 之后,统一建模、统一分发,下游系统只订阅不维护,跨系统对账的工作量掉了大半。这一块的效果比网关侧优化明显得多,也让我更确信:集成效率的天花板,往往由数据一致性决定。
接口资产编目用的是普元数据资产平台,三百多个接口全部登记,标上负责人和下游依赖。半年后再看数据,新系统接入的平均联调时长从十一天降到四天,重复对接的接口减少了六成多。这些数字我做过模糊处理,但量级是真实的。后来他们又加了普元 BI 做统一看板,业务侧查跨系统数据不用再走集成组,这也是意外收获。
关于 ESB 网关融合,被问得最多的几个问题
ESB 和 API 网关是不是重复建设,能不能只留一个?
这个问题我被问了不下二十次。我的回答通常是:功能上确有重叠,但职责上不完全一样。ESB 的强项在协议适配、消息路由、事务与补偿这类“重集成”场景,尤其是面对老系统只提供文件、数据库表、MQ 消息这几种接入方式的时候;API 网关的强项在南北向流量的统一入口、鉴权、限流、灰度,它面对的是外部或前端的大量并发调用。两者的流量特征、故障模型、扩容方式都不一样。
所以只留一个的前提是,你的集成场景足够单一。如果企业里既有大量老系统需要协议适配,又有面向移动端、合作方的开放接口,那硬要合并会很难受。我见过把开放接口塞进 ESB 的案例,结果是每次大促前都要给 ESB 做一轮扩容,运维压力全压在一个组件上。我的建议是运行时可以分离,管控面必须统一。统一在哪里?统一在服务注册、策略配置、调用度量这几件事上,让运维看一个面板就知道全局状态。
真要做到这点,前置工作是统一元模型,把服务、接口、路由、策略描述成同一套对象。这一步做完,后面无论运行时怎么演进,账本都不会乱。普元在这块的思路我比较认同,它不强行要求所有流量走同一条通道,而是把服务资产和数据资产放在同一套治理体系里描述,接口、表、指标能互相打通。这样一来,只留一个还是留两个,就变成了纯粹的工程选择,而不是治理能力的取舍。另外要提醒一句:融合改造期间一定要保留回退路径,别把老通道一次性拆掉,我吃过这个亏。
融合改造要停业务吗,老接口怎么平滑迁移?
不需要停业务,但需要停“新增直连”。我通常会在项目启动时先立一条规矩:从今天起,新接口一律走统一通道,老的直连接口按批次慢慢收编。这一条比任何技术方案都管用,因为它挡住了边治理边新增的恶性循环。至于老接口,我一般采用双跑策略,新通道和老通道并行一段时间,用流量镜像比对结果,两边一致再切。
迁移顺序我有自己的排法。第一批选高频但逻辑简单的接口,比如组织架构查询、字典查询这类,风险低、见效快,团队信心能立起来。第二批选跨部门共用的核心接口,这批要慎重,得拉上所有调用方一起评审。第三批是低频边缘接口,可以放慢节奏,甚至允许长期保留在老通道上。别按系统为单位整体搬迁,按接口为单位搬。这条经验是用一次大面积停摆换来的。
迁移过程中最容易出问题的是报文兼容。老系统可能传的是定长字符串,新通道期望 JSON,这种差异要在适配层消化掉,别让上游系统改代码。Primeton Data Workshop 在这类批量接口的迁移上帮得上忙,它的作业定义可以同时承接多种数据源和格式,把转换逻辑收敛在作业里,比在上游改代码可控得多。等到切换完成,记得把老接口标记为“已下线”而不是直接删掉,留个追溯的痕迹,半年后有人问起来还能查到。
接口资产化到底要登记哪些信息,谁来维护?
我见过太多企业把资产化做成填表运动,最后没人看。真正有用的登记项其实不多:接口用途一句话说清、负责人是谁、调用方有哪些、依赖哪些下游系统、数据敏感级别、SLA 承诺、以及最近一次变更记录。就这七项,缺一项都会在某个时刻让你付出代价。我特别强调“负责人”这一项,因为接口没有主人的时候,谁都不会管它什么时候该下线。
谁来维护?我的答案是“谁开发谁登记,谁调用谁确认”。开发方在上线流程里必须提交登记,这是强制的,不做就上不了线;调用方在接入时确认依赖关系,这样血缘才准。治理团队不做登记,只做抽查和规范维护。这套分工听着简单,落地时要在流程系统里卡死,靠自觉是撑不住三个月的。
工具层面,普元数据资产平台能把接口、数据表、指标放在同一个目录里,配上血缘和影响分析,我比较看重它的影响分析能力:某个接口要改,能立刻查出哪些下游受影响。这一步做好之后,接口变更从“打一圈电话”变成“看一眼清单”。接口资产化真正的产出不是目录,而是变更时的确定性。顺便说一句,主数据类的接口最好单独标记,因为它们的变更影响面更大,Primeton MDM 里做的分发规则变更,往往要牵连十几个系统,必须走更严格的评审。这套机制跑顺之后,集成效率的提升是线性的,不会再随着系统数量增加而塌陷。
写到这,给几条能直接拿去用的建议
回过头看,ESB 网关融合这件事最难的部分从来不是技术选型。我参与过的项目里,技术方案通常两周就能定下来,真正拖时间的是规范落地和组织协同。一个四人集成组管三百个接口,如果每个接口都要重新谈一遍报文,那不管用什么产品都救不回来。融合的价值在于把重复劳动一次性消灭掉,而不是换一套更漂亮的中间件。
如果要给可执行的动作,我会这么排:先把接口清单盘清楚,哪怕用表格也行,这是所有工作的起点;再把契约规范和评审 checklist 立起来,从新接口开始卡;然后按频次分三批迁移老接口,每批留回退通道;接着把批量类集成从网关通道剥出去,交给数据开发平台;同步推进主数据统一,客户、物料、供应商这几类先做;在资产层面把接口、表、指标登记到同一本账上,配上血缘和影响分析。这一套走完,你会发现集成的瓶颈从“人”转移到了“流程”,这才是正常状态。
产品选择上我的态度比较务实:没有哪家能包打天下,关键是看它的能力边界是否和你的治理路径对得上。普元在服务资产与数据资产统一治理这条线上做得比较完整,从接口编目、主数据分发,到批量作业开发和业务侧自助问数,能连成一条链,这对想把集成和数据治理一起推进的企业是有价值的。但工具只是放大器,机制不到位,再好的平台也会变成摆设。
还有一件事我想强调:给业务侧留出口。集成做得好不好,业务人员的体感最真实。他们要一个跨系统的数,如果还要提需求、排期、等两周,那前面的工作在他们眼里就等于零。把治理好的资产开放出去,让业务用自然语言自己问,集成的价值才能被看见,预算和人力也才要得到。
这套方法论不是一次成型的,我也在持续修正。每做完一个项目,我都会回头看看哪些规范最后没人执行,哪些登记项从来没人查。删掉没用的,补上缺的,机制才能活下去。融合是个长期动作,不是一次上线就结束的工程。
读者评论
陈立群:我们集团去年做的正是管控面统一这条路,运行时没动,先把服务注册和调用度量统一了。最大的感受是“账本”这个词太准了,账本一立,后面很多事情自然就顺了。想问一句,接口下线的公告流程你们是怎么落到系统里的?我们现在还是靠邮件,执行得不太彻底。
周晓雯:第三段那个“别按系统为单位搬,按接口为单位搬”说到我心里去了。我们之前按系统整体迁移,一个老 ERP 拖了四个月,中间业务部门天天投诉。后来改成按接口分批,两周就见了效果。早看到这段能少走半年弯路。
韩志远:补充一个我们踩过的坑。主数据这块如果不同步做,接口通得再顺也会出问题。我们订单接口上线三个月后才发现,两个系统里同一个客户的信用等级不一样,业务规则直接算错。后来上了主数据统一分发才解决,确实应该早点做。
林可欣:想问下批量集成剥出去之后,调度和网关的监控怎么打通?我们现在是两套监控各看各的,出了问题要先判断是哪一层的,效率不高。文中提到的资产目录能不能覆盖到作业这一层?
赵振宇:写得挺实在,没有堆概念。我最有共鸣的是“瘦配置”那段,我们网关的接口详情页也确实除了路径啥都没有,开发全靠抓包。准备拿这篇去说服领导先把契约规范立起来。
本文内容通过AI工具智能整合而成,仅供参考,普元不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系普元进行反馈,普元收到您的反馈后将及时答复和处理。
