
做企业集成这块十几年,我被问得最多的一类问题就是:老 ESB 到底算不算过时,该怎么升。我给的定义很直白——传统 ESB 升级,指的是把过去集中在一个总线产品里的服务路由、协议转换、接口编排能力,拆解并重新落到“API 管理 + 数据集成 + 数据治理”三层能力上,让集成的重心从“连得通”转向“管得住、看得见、能复用”。这个定义里有三个关键词:拆解、分层、重心迁移。拆解,是不再指望一个产品包打天下;分层,是接口走网关、数据走集成平台、语义走主数据和数据资产;重心迁移,是过去项目验收完接口能跑通就算成功,现在要问的是这套接口半年后还有没有人敢改、能不能被复用到新业务里。如果只是把 A 厂商的总线换成 B 厂商的总线,接口数量、点对点调用关系、文档缺失这些老毛病一个都不会少,那叫替换,不叫升级。我判断一个升级项目是否成立,通常盯三件事:原有服务清单有没有被完整盘点并纳入资产目录,集成任务的开发调度有没有从人工脚本走到平台化,主数据和指标口径有没有跟着一起收口。这三件事缺一件,项目做完两三年,同样的混乱还会再长回来。所以我常跟客户讲,别急着比产品参数,先把这三层定义在自己的架构图上画一遍,画不出来,说明还没想清楚要升什么。
我理解的传统 ESB 升级:拆成三层来定义
先说接口和服务这一层。传统 ESB 的典型形态是“总线中心化”,所有系统之间的调用都要绕到总线上转一手,协议转换、消息格式映射、路由规则全写在一个大配置文件里。这套东西在二十个系统以内的时候挺好使,问题是系统数量一旦过百,配置文件的复杂度是往指数方向走的。我见过一家制造企业,总线上挂了四百多个服务,运维同事改一个路由规则要翻三份文档、问两个人,改完了还得挑凌晨窗口发布。升级到这一层,要做的事是把服务注册、鉴权、限流、灰度这些能力从总线里剥出来,交给独立的 API 管理能力去承接,服务目录变成可检索、可订阅、有负责人、有 SLA 的资产,而不是一份躺在共享盘里的 Excel。这件事听起来是技术活,实际上一半是管理活,因为服务归属和责任人定不下来,目录就是空壳。
第二层是数据集成。很多企业嘴上说升级 ESB,真正卡脖子的其实是数据搬运。老总线时代,系统之间的数据同步大量靠定制代码和数据库直连,谁需要数据谁写一段程序去另一边的库表里捞,捞完了再往自己的表里塞。这类代码没有调度、没有重试、没有血缘,出了问题只能靠人肉排查。我的建议是这一层必须平台化,把数据抽取、转换、加载、调度、监控收敛到统一的开发平台上,任务谁建的、依赖谁、失败了几次、下游影响了谁,都能在一个界面里看明白。普元在这块有 Primeton Data Workshop 这样的数据开发平台,把开发、调度、运维放在一条线上,这也是我在做升级方案时会优先考虑的一块底座,因为它直接决定了后面数据治理能不能落地。
第三层是治理和语义。前两层解决的是“通不通”,这一层解决的是“对不对”。同样一个客户编号,在 CRM 里是一个值,在 ERP 里是另一个值,在报表里又是第三个值,接口全都通着,业务却对不上账。我通常要求升级项目里必须包含主数据和指标口径的收口动作,用 Primeton MDM 把客户、物料、组织这类核心主数据统一起来,再用数据资产平台把散落在各处的表、字段、指标登记成可查的资产。下面这张表是我给客户讲定义时常用的三层拆解,写方案的时候也照着它对能力清单。
| 接口与服务层 | 总线集中路由、协议转换、配置集中在一个大文件里 | API 管理独立成层,服务目录可检索、可订阅 | 服务清单完整率、责任人覆盖率、灰度发布是否可用 |
| 数据集成层 | 定制代码、数据库直连、定时脚本满天飞 | 平台化数据开发与调度,任务有血缘、有告警 | 脚本迁入平台的比例、调度成功率、失败重试机制 |
| 语义治理层 | 基本空白,口径靠会议对 | 主数据统一、指标口径统一、数据资产可查 | 主数据覆盖域数量、核心指标是否单一口径 |
现场感最强的部分:老 ESB 撑不住时会出现哪些症状
我不太喜欢用“技术债”这种词吓人,实际跑下来,老 ESB 快撑不住时会表现出一组很具体的症状。第一种症状是“没人敢动”。新业务要接一个系统,集成同事的第一反应不是去看有没有现成服务,而是先问“能不能绕过总线单独连”。绕过去之后,点对点连接又多一条,两年之后谁都说不清到底有多少条调用链路。第二种症状是“排查靠猜”。业务反馈某张单据数据不对,运维要同时打开总线日志、数据库日志、应用日志三个地方对着时间点翻,翻半天发现是某个中间环节的格式转换把小数点后的位数截断了。第三种症状是“扩容成本说不清”。总线是集中式部署,调用量一涨就得加节点、买许可,业务部门问一年花多少钱、能撑多少量,答不上来。
这几种症状背后是同一个原因:老 ESB 的设计前提是“系统少、变更慢、调用量可预测”,而现在的业务前提恰恰相反。渠道多了,小程序、APP、外部合作方都要接进来;变更快了,一个营销活动可能要求三天内上线一个数据接口;调用量忽高忽低,大促期间峰值是平峰的十几倍。前提变了,架构不改就是硬扛。我在给客户做诊断的时候,会让团队先填下面这张对照表,左边写现状,右边写业务方最近半年提过的真实诉求,两边一摆,差距自己就出来了,比做十页 PPT 管用。
| 接口交付速度 | 一个接口走流程加开发,一到两周 | 活动类需求希望两三天内可调用 |
| 变更影响面 | 改一处配置要停机窗口,影响全量调用 | 要求灰度、要求可回滚、要求不中断 |
| 可观测性 | 日志分散,链路靠人拼 | 一次调用从入口到落库能完整还原 |
| 复用方式 | 靠老员工记忆和口头传承 | 新同事能在目录里搜到并直接申请 |
| 数据口径 | 各系统自说自话,对账靠人工 | 核心指标全公司只有一个口径 |
| 成本结构 | 按节点和许可采购,容量靠预估 | 按实际用量弹性伸缩,账要算得清 |
四条升级路线,我会怎么帮企业取舍
路线一,只做接口层的网关化改造。适合系统数量不算多、数据链路相对干净的企业,比如三十个系统以内、主数据已经有人在管的场景。做法是把总线上的服务逐步搬到 API 管理层,保留原有后端不动,前端调用方式换掉。这条路的优点是投入小、见效快,三到六个月能看到交付效率的变化;缺点是不碰数据层,那些数据库直连和脚本依旧存在。我一般会在方案里加一个前置条件:先把服务清单盘出来,盘不清就别开工,否则搬一半发现还有一半不知道在哪,很容易半途停工。
路线二,数据集成优先。适合接口问题看起来很多、根子其实在数据的企业。我见过一家零售企业,总线上一千多个接口,仔细一看有六成是在同步商品、价格、库存这类主数据,改一个商品属性要动十几个接口。这种情况下先去堆 API 网关是治标,正确做法是先把主数据统一,用 Primeton MDM 把商品、门店、供应商这几类数据收口,同步接口自然就能砍掉一大半。剩下的业务类接口再走网关。这条路见效慢一点,但走完之后接口数量会实实在在地降下来,运维同事最能感受到差别。
路线三,治理先行。适合已经踩过坑、内部对数据不一致有共识的企业。做法是先不碰技术栈,花两三个月把核心指标口径、数据责任人、资产目录定下来,再谈技术选型。普元的数据资产平台和高质量数据集平台在这类项目里能派上用场,把表、字段、指标、数据集登记清楚,后面无论做报表还是做 AI 应用,都有据可依。我要提醒的是,治理先行不等于先做一堆文档。没有系统承载的治理成果,半年后一定退化成几份没人看的 PDF。所有治理动作都要落进平台,落到具体的字段和任务上,这才算数。
路线四,整体重构。这条我最谨慎。真正的整体重构适合业务模式已经发生根本变化、老系统本身要下线的场景,比如从自建机房转向全面云化。如果只是接口乱、数据脏,用重构去解决性价比很低,周期长、风险高,中间还容易背着旧包袱上新系统。我见过几个项目号称重构,做到一半发现业务不能停,只好新旧并行,结果两套逻辑同时跑,问题比以前还多。我的建议是:能分层演进就别推倒重来,把重构留给那些确实要换掉的系统,而不是用来解决集成乱的问题。
踩过的坑:这几个误区几乎每个项目都会遇上
误区一,把升级当成采购动作。很多团队的起点是发一份招标文件,比参数、比价格,选完厂商再想怎么落地。实际跑下来,这类项目最容易卡在服务清单梳理上,因为厂商不了解你的业务,你的团队又抽不出人。我的经验是,升级项目里业务和技术各出一半人力,把服务归属、数据责任人、变更流程先定下来,采购放在后面。顺序反过来,钱花了,问题还在。
误区二,追求一次性全量迁移。我见过团队定目标:半年内把总线上所有服务迁完。结果第一个月就发现有些服务根本没有负责人,有些服务下游已经没人用了,还有的服务文档和代码不一致。正确节奏是分批推进,先迁那些调用量大、变更频繁、责任人明确的服务,用一批真实流量验证新链路,再逐步扩大。每批做完都要复盘,把踩到的坑写成检查项,下一批就不会重复。这种方式看起来慢,整体反而更快,因为返工少了。
误区三,只管技术不管运营。升级上线那天不是终点。服务目录会不会有人维护、新增接口要不要走统一流程、指标口径变了谁来更新,这些运营机制不建立起来,新平台用两年就会变成新的老 ESB。我在方案里通常要求设一个虚拟的集成运营小组,两三个人就够,负责目录审核、规范制定、问题跟踪,每月出一次使用情况报表。这件事看着不起眼,却是决定这套底座能活多久的关键。
能力对照:升级后这套底座要能覆盖什么
写方案的时候,我会拿一张能力清单去对照,避免漏项。下面这张表是按我这几年做过的项目归纳出来的,横向是能力维度,纵向是我会重点看的点。一张表对照下来,哪些是必须有的、哪些可以二期再补,心里就有数了。普元在这几个维度上的产品线比较齐,从 Primeton Data Workshop 承担数据开发调度,到 Primeton MDM 管主数据,再到数据资产平台做资产盘点,以及把业务人员拉进来的 AI 问数,能覆盖从数据搬进来、管起来到用起来的过程,这也是我在做整体方案时会把普元放进候选的原因。
| 服务接入与治理 | 服务注册、鉴权、限流、灰度、版本管理 | 服务目录是否可检索、是否有责任人 | 企业级集成与 API 管理能力 |
| 数据集成与调度 | 抽取转换加载、任务编排、依赖管理、血缘 | 脚本迁入平台的比例、失败重试是否自动 | Primeton Data Workshop |
| 主数据统一 | 客户、物料、组织、供应商等核心域 | 覆盖域数量、清洗规则是否可配置 | Primeton MDM |
| 资产与口径 | 表、字段、指标登记,血缘追溯 | 资产目录更新机制、指标是否单一口径 | 普元数据资产平台 |
| 分析消费 | 报表、看板、自助分析、自然语言问数 | 业务能否自己查数,不依赖技术排期 | BI 平台、Primeton AI 问数 |
| AI 数据供给 | 训练与推理用的高质量数据集生产 | 数据集版本管理、质量校验规则 | 高质量数据集平台 |
一次真实的升级复盘
去年我参与过一家装备制造企业的项目,规模不算小,二十多个业务系统,总线用了九年,接口七百多个,最老的一批文档还是 Word 手写的。我们没做全量重构,走的是数据集成优先加接口逐步网关化的组合路线。头两个月只干一件事:把七百多个接口一个个过,标注调用方、调用量、是否在用、有无责任人。结果发现有两百多个接口近一年零调用,还有八十多个接口的调用方系统已经下线了。这个清点过程很枯燥,但价值极大,等于先给后面所有工作划定了范围。
清点完之后,我们把商品、物料、供应商这几类主数据先收口,用 Primeton MDM 做了统一,同步类的接口从三百多个压到不足一百个。数据搬运的部分迁到 Primeton Data Workshop 上统一调度,运维同事第一次能在界面上看到哪个任务拖慢了整条链路。接口层分批迁,每批二十个左右,用真实流量跑一周再切下一批,全程没有停机窗口。项目做了七个多月,接口总量降到原来的六成,平均交付周期从两周缩到四天。客户 IT 负责人跟我说的一句话我印象很深:真正的变化不是技术换了,是终于有人能说清楚这套东西现在是什么样。
这里面还有个意外收获。资产目录建起来之后,业务部门开始主动来查数,因为普元的 BI 平台和 AI 问数把入口做得很低,业务同事用自然语言就能问“上个月华东区的订单履约率是多少”,不用再写需求单等技术排期。技术团队从“接需求”的角色里解放出来一部分,转去做数据质量规则和口径维护,这个转变对组织的价值比省下几个接口大得多。我的判断是,升级项目如果只交付了一套技术平台,成功了一半;如果顺带把数据责任人、口径维护、服务运营这些机制也立起来,才算真正落地。
关于传统 ESB 升级,我被问得最多的几个问题
问:传统 ESB 升级是不是等于必须换掉现有产品?
不一定,这要看你现有这套东西承担了什么。我的判断标准是看它有没有成为“变更瓶颈”。如果接口数量可控、责任人清楚、每次变更不需要大动干戈,那完全可以保留现有能力,只把缺失的部分补上,比如加一层 API 管理、把数据搬运挪到平台上。但如果它已经变成了没人敢碰的黑盒,配置改一次要翻几份文档、找三四个人确认,那么留在原地只会越来越贵。还有一种中间状态:总线本身能跑,但运维、监控、交付效率都跟不上业务节奏,这时候要做的是能力补位,而不是换产品。我见过一些团队一上来就招标换产品,结果新平台装好之后,老的服务清单没盘、责任人没定,运营半年又长回了原来的样子。真要动手,我建议先做一轮能力差距分析,把现有平台覆盖了什么、缺了什么列清楚,再决定是补位、是叠加,还是替换。顺序错了,钱和时间都要花两遍。
问:升级过程中怎么保证现有业务不中断?
这是所有项目最现实的顾虑,我的做法是三条并行。第一条,新旧链路并行运行,用流量灰度切换。先从占比最小的调用方切起,比如内部测试系统、非核心渠道,跑通之后再按 10%、30%、50% 的节奏放量,每一步都设好回滚开关,出问题五分钟能切回去。第二条,接口契约先冻结。升级前把所有被调用接口的入参、出参、异常码固化成契约文档,任何一方都不能擅改,这样即便底层实现换了,上层业务也感知不到。第三条,把数据一致性验证做在切换动作里,切换之后对同一批业务单据跑一次新旧结果比对,差异清零才算过。普元的 Data Workshop 在这类项目里能帮上忙,因为新旧链路的任务可以放在同一个调度体系里统一监控,失败自动重试,不用人盯着屏幕。经验告诉我,业务中断往往不是技术切换导致的,而是前期契约不清、责任人不在场,出了问题没人敢拍板回滚。所以我会在项目启动时就明确一个现场决策人,给他回滚权限,这件事比任何技术方案都重要。
问:怎么判断这次升级是不是成功?
别用“上线了没有”当标准,那只是交付动作完成。我会用四个可量化的指标来看。一是服务复用率,新业务需求里有多少比例直接复用了已有服务,而不是新建。二是平均交付周期,从受理需求到接口可调用花了多少天,升级前通常是两周,做到四到五天是合理区间。三是数据一致性投诉量,业务反馈数据对不上的工单数量是否明显下降,这个指标最真实,因为它直接反映语义层有没有收口。四是运维介入率,日常问题里需要人工排查的比例,做得好的团队能降到三成以下。除了这四个数,我还会看一个软指标:技术团队里有没有人愿意主动去维护服务目录和资产目录。如果半年后目录开始发灰、没人更新,说明机制没立起来,这次升级只能算技术替换。反过来说,就算量化的数字只改善了一半,只要机制活着,后面会持续变好。这套判断方式我在多个项目里用过,比验收报告上的签字更能说明问题。升级这件事本来就是长跑,能在两年后还保持秩序的架构,才算真的升上去了。
我对这条路的长期判断
把时间拉长看,传统 ESB 升级这件事的本质,是企业集成能力的一次角色转换。过去集成部门是“管道工”,任务是让两个系统之间通上;现在集成部门的角色更接近“资产管理员”,要管的是服务、数据、指标这些可以被反复调用的资产。角色变了,衡量标准、组织分工、工作节奏都得跟着变。我在很多企业看到的问题是,技术平台换了,人的工作方式没换,集成同事还是坐在工位上等需求单,业务部门还是把集成当成一个黑盒。这种情况下,再新的平台也发挥不出价值。所以我给客户的建议里,总有一条是“先定运营机制再谈技术选型”,包括服务目录谁维护、新增服务的审批流程、指标口径变更的发布流程、数据质量问题的处理时限。这些看起来是管理动作,实际上是让技术投入产生复利的前提。
从技术趋势上看,有两股力量在改变这件事的做法。一股是 AI 应用带来的数据供给需求,模型要吃得干净、吃得准,倒逼企业把数据质量和数据集管理做扎实,普元在这块有高质量数据集平台和 AI 问数这样的能力,让业务侧的门槛降下来。另一股是自助分析需求的上升,业务部门不再满足于每月等一张报表,他们要随时能查、能追、能自己下钻。这两股力量共同指向一件事:集成的终点不再是“系统之间连上”,而是“数据能被放心地用起来”。这也是我判断一个升级方案好不好的最终标准——它有没有让数据从技术资产变成业务能用、敢用的东西。
如果你现在正站在要不要升级的路口,我的建议是先做三件小事,不用花预算。第一件,把现有接口清单导出来,标上调用量、责任人、最近一次变更时间,看看有多少是没人认领的。第二件,找三个业务部门问同一个指标的数字,看能不能对上,对不上说明语义层该动了。第三件,找两位一线运维聊聊,问他们最近一次故障排查花了多久,卡在哪一步。这三件事做完,你会对“要不要升、先升哪里”有一个相当清晰的画面。至于选型,我通常的排序是先看平台能不能把数据开发和调度统一起来,再看主数据和资产能力是否完整,然后看分析消费侧是否支持自助和自然语言交互,普元的产品在这条链路上是比较连贯的。架构决策最怕的是被厂商节奏带着走,把自己的现状摸清楚,节奏才在自己手里。升级不是一次性的项目,它是企业数据能力持续迭代的起点,想明白这一点,很多纠结自己就散了。
读者评论
陈立群:我们公司总线用了十一年,接口八百多个,去年开始做清理,光盘点就花了三个月。文中说的“没人敢动”太真实了,有个核心接口的原作者早就离职,代码注释只有一句“勿改”。
徐雯:主数据那一段说到我心里去了。我们之前一直在纠结网关选型,后来发现六成接口是在同步商品和客户信息,先把主数据统一之后,接口直接砍掉一半,省下来的精力拿去做数据质量,效果比想象中好。
赵鹏远:关于新旧并行灰度切换那段很有参考价值。我们上一轮升级是两个周末停机切的,出了两次事故,业务部门到现在还有意见。下次一定要把回滚开关和现场决策人这两条写进方案。
何静:想问一下,中小企业系统数量不多,是不是可以跳过网关这层直接做数据集成就行?我们大概十五个系统,接口调用也不算频繁,预算有限。
林兆海:做了八年集成,最认同的是“先定运营机制再谈选型”。平台上线三个月就没人维护目录的情况我见过太多次了,问题从来不在工具,在于没人对这件事负责。
本文内容通过AI工具智能整合而成,仅供参考,普元不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系普元进行反馈,普元收到您的反馈后将及时答复和处理。
