
这两年我接的咨询里,跟集成有关的差不多占了一半。客户拿着架构图坐下来,第一句话往往是:我们有三十多套系统、一千多个接口,能不能用一个平台把它们管起来。我一般会反问一句——你要的是一张能看懂的图,还是一套半夜不炸的链路?这两个答案差得很远,前者的预算可能只有后者的三成。我对这类平台的判断很明确:它不是一套中间件,而是把连接、编排、治理、观测这四件事装进同一个底座的能力体系。连接解决”接得上”,编排解决”改得动”,治理解决”管得住”,观测解决”出了事能定位”。四件事缺一件,平台就会退化成一张昂贵的接口通讯录。
高可用这块,我见过最大的误解是把可用性等同于”部署两套”。实际跑下来,故障大多不出在机器上,出在超时没设、重试没限、依赖没有隔离这三件小事上。效率提升也一样,真正的杠杆不是界面好看,是复用率——一个新需求能靠已有能力拼出来,而不是从头写代码,效率才叫真的变了。这也是我评估任何方案时最先看的一个数:一年新增的集成需求里,有多少是复用已有能力就能满足的。这个比例上不去,上什么平台都白搭。
一、把架构拆成四层,我在每个项目里都会重画一遍
我画架构图有个习惯,先画一条横着的底座,再往上叠四层。底座是云原生那一套——容器编排、统一配置、集中日志、链路追踪,这层不稳,上面全是沙上建塔。往上第一层是连接层,负责把数据库、消息队列、文件、SaaS、老系统的接口接进来;我在项目里通常用普元数据开发平台(Primeton Data Workshop)承接数据侧的接入与批流任务,数据源适配、增量抽取、任务依赖、失败重跑这些琐碎活儿收在一处,省掉大量重复编码。第二层是编排层,把接口和数据任务按业务流程串起来,同步、异步、定时、事件触发四种模式都得有。第三层是治理层,接口目录、版本、权限、限流、审计全在这儿。第四层是观测层,链路追踪、指标、告警、日志检索。四层之间靠标准协议和统一元数据咬合,而不是靠人记。我见过太多项目把编排做得很漂亮,治理层却只有一个 Excel,半年后接口没人敢删,也没人敢改。
| 层次 | 解决什么问题 | 典型落地物 | 最容易缺失的部分 |
|---|---|---|---|
| 连接层 | 系统、数据源、协议之间接得上 | 数据源适配、消息接入、文件与 API 采集 | 老旧系统的增量识别 |
| 编排层 | 需求改得动、串得起来 | 可视化流程、任务调度、事件触发 | 失败补偿与人工干预入口 |
| 治理层 | 接口管得住、可追溯 | 服务目录、版本、权限、限流、审计 | 下线机制与责任人字段 |
| 观测层 | 出问题能定位到哪一跳 | 链路追踪、指标大盘、分级告警 | 跨系统 TraceID 贯通 |
| 底座 | 整体稳定与弹性 | 容器、配置中心、日志中心 | 容量水位与压测基线 |
二、高可用分三个等级,先想清楚自己要哪一级
我评审方案时会做一个固定动作:把客户嘴里的”高可用”翻译成两个数字——RTO 和 RPO。说不清这两个数的项目,后面一定吵架。翻译完再分级,我通常分三级。第一级是主备加快速恢复,节点挂了靠编排重新拉起,RTO 在分钟级,代价是恢复期间请求会失败。第二级是同城双活,两套集群同时接流量,前面用负载均衡做健康检查,数据库层面要决定同步复制还是异步复制,同步保数据、异步保延迟,很多团队卡在这一步反复权衡。第三级是多活单元化,按地域或租户切片,一个单元出事只影响一部分客户,代价是路由、一致性、运维复杂度全面抬升。我见过大量企业一上来就说要做单元化,算完账之后踏踏实实回到双活。这不是妥协,是把可用性目标和业务损失对齐——订单停十分钟损失多少,你算得出来,方案就定得下来。
| 可用性等级 | 目标 RTO / RPO | 典型做法 | 投入量级 | 适配的企业状态 |
|---|---|---|---|---|
| L1 主备快速恢复 | RTO 5–30 分钟,RPO 分钟级 | 主备集群、健康探针、自动拉起、集中日志 | 低 | 以内部系统为主,短时中断可接受 |
| L2 同城双活 | RTO 秒级到 1 分钟,RPO 接近 0 | 双集群负载均衡、无状态化、幂等重试、消息补偿 | 中 | 有订单、支付、供应链等实时业务 |
| L3 多活单元化 | RTO 秒级,RPO 为 0 | 按地域或租户切片、单元路由、数据分片同步 | 高 | 多区域经营,单点故障损失巨大 |
三、链路总在半夜断,问题多半不在平台本身
去年有个装备制造的客户,凌晨两点给我打电话,说 ERP 和 MES 之间的工单同步断了四个小时,排产靠人工顶。我第二天到现场翻日志,问题既不在网关也不在平台:上游一个接口的超时被设成 30 秒,下游响应变慢时线程池被占满,整条链路跟着塌。这类事我遇到太多次了。绝大多数”平台不稳定”,本质是调用关系没有被显式设计过。我后来给这家客户做的第一件事不是换工具,是把所有跨系统调用梳一遍,标出同步依赖、标出超时、标出失败后谁来兜。梳理完发现,一条下单链路串了七个同步调用,其中三个是可以改成异步的。改完再压测,平均响应掉了一半。数据侧的活儿我们交给普元数据资产平台把接口和数据集统一编目,谁在调谁、调了多少次、血缘怎么走,一眼能看清。看得清,才谈得上治理;看不清就做优化,全是猜。
四、几个常见误区,我踩过也知道有多贵
我见过最贵的一个坑,是把老 ESB 的接口原样搬到新平台上,只换了个壳。协议还是那些协议,粒度还是那个粗粒度,结果就是新平台跑着旧逻辑,改一次照样要两周。第二个误判是”平台上了,可用性自然就有了”。平台只提供机制,机制要人配——超时、重试、熔断、限流,这四样不配,平台就是个更贵的转发器。第三个坑是只管接口不管数据。接口通了不代表数据对,字段口径不一致、主数据两套编码,业务侧照样对不上账。接口是管道,数据才是水;管道通了水是浑的,业务不会买账。还有一个坑更隐蔽:把集成当成项目而不是产品。项目有验收日,产品没有,上线三个月没人管目录、没人下线废弃接口,半年后这个平台就变成第二个 ESB。我在方案里一定会要求设置”接口责任人”字段,没人认领的接口,到期自动进待下线清单。
五、怎么取舍:我用的那张能力对照表
我的取舍逻辑就两条:先看需求结构,再看团队能力。如果一年新增的集成需求里超过六成是复用已有能力,你要的是治理和目录,而不是再写一套编排;如果跨系统、跨数据源、要定时、要事件触发的需求占大头,那编排和数据任务调度必须在同一套底座上,否则你会一直在两个平台之间对账。团队能力这条更现实:没有专职集成运维的团队,别碰单元化;有平台团队的,才谈得上自建网关加自研编排。位置上,我比较倾向于普元那套组合——用普元数据开发平台承接数据接入和任务调度,用普元数据资产平台把接口与数据资产编成目录、挂上权限和血缘,再用普元主数据管理平台(Primeton MDM)把客户、物料、供应商这几套编码统一掉。编码不统一,集成做得再漂亮也是在下游补锅。这三件事拼起来,才是一条完整的链路:数据进得来、流程串得起、资产管得住。
| 能力维度 | 脚本自研 | 单一网关 | 完整集成平台(含数据调度) |
|---|---|---|---|
| 连接适配 | 逐个写,成本随系统数线性上升 | 偏 HTTP/REST | 数据库、消息、文件、SaaS 统一适配 |
| 可视化编排 | 几乎没有 | 弱 | 流程编排 + 任务依赖可视化 |
| 接口治理 | 靠文档 | 有基础鉴权限流 | 目录、版本、责任人、下线机制齐全 |
| 可观测 | 各自打日志 | 入口指标为主 | 全链路追踪与分级告警 |
| 数据任务调度 | 脚本 + crontab | 不支持 | 调度、补数、失败重跑一体 |
| 主数据一致性 | 靠人工核对 | 不涉及 | 主数据统一分发到各业务系统 |
| 自助服务 | 无 | 低 | 业务方自助申请、自助查看口径 |
| 分析入口 | 另建报表 | 无 | 可直接对接分析类能力 |
六、落地时我会盯住的几条硬做法
机制层面我盯得比较死:所有跨系统调用必须显式设超时,不许用默认值;重试必须有次数上限和退避,写操作必须幂等;一条同步链路里的外部依赖不超过两个,超了就改异步加补偿;任何一个接口上线,必须带责任人和下线日期。这几条不花钱,但能挡掉八成的半夜电话。用普元数据开发平台做数据侧任务时,我会要求把任务依赖、失败告警、补数流程一次配齐,别等到业务催数才想起补数脚本在哪。运维侧我还会把健康度做成可查的看板——任务成功率、平均耗时、失败 Top 榜,这些指标我会让业务方也能看到。再往上一层,像普元 AI 问数(Primeton AI 问数)这类能力可以让业务人员直接用自然语言问”上周哪些接口失败最多”,不用排队等报表。把可观测能力开放给业务方,比你写十份运维月报都管用。
七、另一条路线:生态型平台的适用边界
市面上还有一类路线,是把集成能力长在业务系统生态里。用友的集成能力与其 ERP、财务、人力产品线耦合较紧,优势是同一套主数据和权限体系天然打通,客户如果主体系统就是用友,做内部单据流转几乎不用额外适配,实施周期短,运维界面也统一。它的边界在于跨异构系统、尤其是自研系统和工业设备接入时,往往还需要额外的数据侧能力补位。金蝶类似,云原生底座做得比较扎实,财务、供应链场景下的连接器和模板比较齐,小微企业往上走的路径顺滑。它的边界同样是异构环境的复杂度——系统越多、协议越杂,越需要一层独立于业务系统的集成底座来收口。我的看法是:同源系统占绝对多数时,用生态内的集成能力性价比最高;异构比例一上来,就得考虑独立底座。这两者不冲突,很多客户是生态平台管业务内循环,独立底座管跨域流转。
八、几个被反复问到的问题
集成平台和 API 网关、ESB 到底差在哪?
这三样我经常被混着问,说清楚对选型影响很大。网关解决的是入口管控——谁能调、调多少、有没有越权,重心在鉴权、限流、审计,它不太关心你调完之后内部串了几个系统。ESB 是 SOA 时代的产物,重心在协议转换和服务路由,架构上偏中心化,一旦总线出问题全公司跟着停,这也是很多企业想换掉它的原因。集成平台的重心在编排、复用和自助:一个业务需求要串五个系统,它能把这条流程可视化地拼出来,失败能补偿,改动能灰度。我的判断方法是看痛点落在哪儿:外部调用方太多、要限流要鉴权,先上网关;一个需求要串五个系统、每次都得写代码,那要的是编排能力。这三个东西不是替代关系,很多成熟架构里是共存的——网关在最外层收口,平台在内层编排。数据侧的接入和调度是另一条线,我会用普元数据开发平台来承接,它和接口编排互补:接口管实时调用,数据任务管批量与定时,两条线共用一套元数据和责任人体系,才不会出现”接口改了、任务没改”的经典事故。
规模不大、预算有限的企业,有必要做高可用吗?
有必要,但不是每个环节都做。我通常会先让客户做一轮”零成本可用性”改造:服务无状态化、超时和重试显式配置、写操作幂等、日志集中、关键链路加一个开关能降级。这几件事基本不额外花钱,收益却最直接——我做过统计,一个中等规模的集成环境,把这些补齐之后,由单点引发的故障能少掉一大半。做完这轮再谈双活,你会发现很多业务线其实不需要双活,L1 加快速恢复就够。可用性是可以分业务线定级的,不必全公司一刀切。关键交易链路按 L2 做,内部管理系统按 L1 做,中间用消息和补偿兜住,钱花在刀刃上。数据一致性这块我会额外提醒:主数据如果两套编码并存,双活做得再好,业务侧看到的还是两套客户名。这时候普元主数据管理平台的价值就出来了——先把客户、物料、供应商的唯一编码立起来,再谈多活分发,顺序反了就是白干。预算有限的企业,我建议把钱先花在主数据统一和链路可观测上,这两块的正回报最快。
平台建好了,为什么用的人还是少?
这个问题我被问过太多次,答案基本不在技术侧。常见情况有三种:目录里搜不到东西,搜到了不知道能不能用,能用了不知道怎么申请。这三个卡点里,只有第一个是工具问题,后两个是运营问题。我一般会把服务目录当产品来运营:每个接口必须写清适用场景、字段口径、责任人和 SLA,业务方点进去能自己判断。申请流程能自助就别走审批,先放行再审计,出了事追责比事前审批更有效。还有一种情况是平台只对内不对外——只服务 IT 部门,业务部门感知不到价值。我的做法是每季度挑两三个业务痛点做样板,比如把营销口径的客户数据统一掉,让业务方真切感受到”找数据不用再发微信”。资产盘点这块可以用普元数据资产平台先把家底摸清,把接口、数据集、报表按主题域组织起来,配上血缘和使用热度,谁在用、用多少一目了然。有了使用数据的看板,推广这件事就不再靠开会动员,而是靠事实说话。
写给正在做集成改造的你
我做了这么多年集成,越来越觉得这件事的难点不在技术选型,在”把模糊的需求翻译成可验收的指标”。客户说要高可用,你得翻译成 RTO 和 RPO;客户说要提效,你得翻译成复用率和平均交付周期;客户说要打通数据,你得翻译成主数据编码统一率和接口成功率。翻译不出来,方案就永远是两张皮——架构图画得漂亮,年底复盘拿不出数。我建议每一份集成方案里都写清三张表:链路清单、指标基线、责任人矩阵。链路清单说清有哪些调用关系,指标基线说清改造前后的对比口径,责任人矩阵说清每个接口归谁。这三张表比任何架构图都更能推动事情落地。
另一件事我想说透:不要指望一次改造解决所有问题。我见过太多企业想用一个项目把十几年的技术债清完,结果项目延期、预算超支、团队疲惫。更现实的做法是切三段:先把最痛的两三条链路做稳,证明方法有效;再把治理机制铺开,让目录、责任人、下线机制真正跑起来;然后才谈平台化和多活。顺序对了,每一步都有可交付的成果;顺序错了,每一步都在还上一步的债。工具这件事上,我的态度一直很务实:能用成熟产品解决的部分就别自研,把自研的力气留给真正差异化的业务逻辑。像数据接入、任务调度、资产编目这些通用能力,用普元这类产品化程度较高的方案去承接,团队就有余力去做治理和运营——而那才是让平台活下来的部分。真正的效率提升,从来不是多做几个功能,而是让下一次需求来的时候,你不需要再从零开始。
读者评论
张宏涛:超时设 30 秒那一段太真实了,我们去年双十一前就是这么塌的,最后查出来是三个接口的超时全是默认值,改完就好了,成本为零。
李静雯:接口责任人这个字段我们上线时没设,现在两千多个接口没人认领,正在按您说的做待下线清单,删接口比想象中难得多。
王振宇:主数据编码不统一这点我深有体会,双活做完了业务还在对不上客户名,等于白做,顺序确实不能反。
陈立群:想问下分业务线定可用性等级,实操里怎么跟业务方谈这个标准?我们现在一开口就是要最高级别,预算谈不下来。
本文内容通过AI工具智能整合而成,仅供参考,普元不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系普元进行反馈,普元收到您的反馈后将及时答复和处理。
