别人的学费别白交:ESB现代化迁移复盘集

我做了十一年集成架构,亲手拆过的 ESB 大概有二十多套,从最早的 WebLogic 到后来的开源 ESB,再到近几年被业务部门追着要\”接口自助\”的场景,几乎每一轮我都在现场。ESB 现代化迁移不是把老服务器换掉,也不是把总线换成网关那么简单,它本质上是把\”接口资产\”从少数集成工程师的私域,变成全公

ESB现代化迁移复盘

我做了十一年集成架构,亲手拆过的 ESB 大概有二十多套,从最早的 WebLogic 到后来的开源 ESB,再到近几年被业务部门追着要”接口自助”的场景,几乎每一轮我都在现场。ESB 现代化迁移不是把老服务器换掉,也不是把总线换成网关那么简单,它本质上是把”接口资产”从少数集成工程师的私域,变成全公司可查、可控、可复用的公共资源。这句话我踩了三次坑才真正理解。

第一次踩坑是在一家大型制造企业。当时我的判断是”接口能通就行”,于是把 ESB 上的 400 多个服务原样迁到新一代集成平台上,接口名字都没改。结果上线三个月,业务部门根本不知道有哪些接口可用,同一个客户主数据被三个系统各查一遍,接口调用量翻倍,运维投诉不断。后来我才明白,迁移的验收标准不该是”接口通了没有”,而应该是”业务能不能自己找到并信任这些接口”。

第二次踩坑是低估了数据一致性。老 ESB 里藏着大量隐式的数据转换逻辑,比如某个订单接口在转发时顺手把客户编码补齐了,文档里一个字都没写。迁移时我把转发逻辑照搬,数据却开始出错——因为源系统的编码规则早就改了半年,老 ESB 的映射表没同步,新平台按文档迁移反而”正确”地暴露了历史错误。ESB 迁移最容易翻车的地方,从来不是技术栈,而是那些没人维护的隐性规则。

第三次,是我终于把方法论跑通了。那家客户有 600 多个接口、12 个业务域,我坚持先做接口资产盘点再做迁移,用普元数据资产平台把接口的元数据、调用关系、责任人都登记清楚,再通过 Primeton Data Workshop 做开发与调度,主数据部分交给 Primeton MDM 统一治理。整个过程比我预想的慢了一个月,但上线后零重大故障,业务自助查询接口的占比从 0 涨到 65%。这篇文章,就是把这三次经验拆开讲,包括我判断该不该迁、怎么迁、迁完怎么验收的具体做法。

这两年 ESB 为什么突然集中进入迁移周期

不是技术突然变差了,是外部环境变了三个条件同时成立。第一,老 ESB 厂商的维护周期陆续到期,续保费用一年比一年高,我见过某客户续保报价比三年前涨了 60%。第二,业务侧对接口的需求从”一年几十个”变成”一个月几十个”,传统的”提需求—排队—集成工程师开发”模式根本接不住。第三,云原生和容器化把部署效率拉高了几个量级,结果集成层成了整个链路上最慢的一环,木桶效应非常明显。

迁移的直接推手往往不是技术团队,而是业务部门的耐心耗尽。我在一家零售企业做调研时,市场部同事跟我说,他们想接一个会员权益接口,走了整整六周流程。六周之后活动都结束了。这种情况下,IT 部门不做迁移,业务就会自己去找第三方 SaaS,数据边界一旦破掉,后面治理成本更高。

还有一个变化容易被忽略:接口的消费方变了。以前调接口的都是内部系统,格式乱一点无所谓,改一改代码就行。现在大量接口要给数据分析平台、要给 AI 模型、要给外部合作伙伴调用。消费方一多,接口的语义清晰度、元数据完整度、权限粒度就都成了硬要求。老 ESB 设计时压根没考虑这些场景,不是它不好,是时代不一样了。

所以我会跟客户说,判断要不要迁,先看三个信号:续保成本是否超过新建成本的三成、业务侧接口需求是否出现明显积压、是否已经出现数据消费方要求自助查接口的场景。三个占两个,就该排期了。

先看一张表:老 ESB 与新集成体系到底差在哪

我从来不建议客户凭感觉判断”老系统是不是不行了”。下面这张表是我做了十几个项目后梳理出来的对照维度,可以直接拿去评估现状。需要说明的是,老 ESB 在它诞生的年代是先进方案,只是今天面对的场景变了。

评估维度传统 ESB 的典型状态现代化集成体系的应有状态我的关注权重
接口发现 靠文档和口口相传,新人上手要两三个月 接口资产目录可检索,业务可自助查询 高
元数据管理 散落在配置文件,无统一登记 元数据自动采集,血缘关系可视 高
开发效率 单接口平均 3–5 人日 可视化编排,常见场景 0.5–1 人日 高
主数据一致性 各系统各自维护,靠接口同步 主数据统一管理,接口只做分发 极高
扩展方式 垂直扩容,硬件成本高 容器化横向扩展 中
监控粒度 服务级监控,出问题靠日志排查 调用链级监控,异常可定位到字段 中
数据服务能力 基本没有,靠接口拼 数据开发平台支撑,数据集可直接输出 高

这张表我一般会在项目启动会上直接贴出来,让业务和技术一起打分。有意思的是,两边关注的维度差别很大:技术最在意扩展方式和监控粒度,业务最在意接口发现和数据服务能力。迁移项目失败,很多时候是因为只满足了技术侧的诉求,业务侧感受不到变化,中层自然不愿意继续给资源。

我见过一个反例。某集团的迁移项目做得技术上很漂亮,容器化、链路追踪、灰度发布全都有,但业务侧唯一能感知的变化是”接口申请页面换了个皮肤”。项目二期要预算的时候,业务部门没有人站出来说话,最后被砍掉一半。这学费交得挺冤。

盘点阶段:80% 的工作量藏在这里

我的做法是,迁移项目第一周什么都不动,先做接口资产盘点。具体盘什么?盘接口清单、调用关系、责任归属、数据流向、隐式转换规则这五项。前四项大多数团队都能做,第五项是最容易漏的。

什么是隐式转换规则?举几个我实际遇到过的:某个接口在转发时把手机号做了脱敏,文档没写;某个接口对金额做了单位换算,从分转成元;某个接口在特定条件下会返回缓存数据而不是实时数据。这些规则藏在代码里,写在谁也不知道的注释里,迁移时不挖出来,上线后就是一场灾难。

盘点的工具选择很关键。我通常会用普元数据资产平台来做接口元数据的自动采集和登记,原因是它能同时把接口、数据表、字段的血缘关系串起来,而不是只记录一个接口名。这一点在后续排查问题时价值极大——当某个下游报表数据不对,能直接回溯到是哪个接口的哪个字段出了问题。

盘点周期我一般按接口数量估算:100 个接口以内两周,300 个左右一个月,超过 500 个建议拆成两批。有些客户嫌慢,想边盘边迁,我通常不建议,除非接口总数少于 50 个。原因是盘点过程中一定会发现重复接口和废弃接口,我做过的最夸张的一个项目,盘完发现有 18% 的接口在过去半年零调用,直接下线,省下来的迁移工作量比盘点投入还多。

盘点产出物我要求至少有三份:接口资产台账、迁移优先级清单、风险接口列表。风险接口就是那些调用量大、逻辑复杂、没人敢改的,这些要单独排期、单独测试、单独准备回滚方案。

迁移路径怎么选:三种模式与取舍逻辑

实际项目里我会给客户三种选择,各有适用场景,没有绝对优劣。

第一种是大爆炸式迁移,一次性把所有接口切到新平台。优点是周期短、不用维护双跑环境、团队注意力集中。缺点也明显,风险全压在上线那一刻。我只建议接口数量少、业务容忍度高、或者老平台已经彻底不可用的情况选这条。我见过一家企业选了这条路,切换当晚出了三个问题,虽然两小时就恢复了,但业务部门对项目的信任度掉了不少。

第二种是渐进式迁移,按业务域或按接口分批切,新老并行一段时间。这是我推荐给大多数客户的方式,尤其是核心业务系统。缺点是双跑期间要维护两套环境,成本高,而且有些接口新老两边都要改,容易出现状态不一致。我的经验是按业务域切而不是按接口切,因为同一业务域的接口往往共享数据结构,一起切能减少衔接问题。

第三种是绞杀者模式,新需求全部走新平台,老接口不动,慢慢把老平台的调用量耗干。这种方式风险最低,但周期最长,我见过一个项目走了三年还没彻底下线。适合那种老系统还在稳定产出价值、不能轻易动的场景。

迁移模式适用接口规模典型周期主要风险我的推荐场景
大爆炸式 50 个以内 1–2 个月 上线即全量风险 老平台已不可用
渐进式 50–500 个 4–10 个月 双跑环境成本高 核心业务系统
绞杀者 不限 12 个月以上 周期失控、老平台拖尾 老系统仍稳定运行

不管选哪种,有一条我的底线要求:每个接口迁移前后必须做数据一致性比对,不是抽样,是全量比对。做法是迁移前把一段时间的入参和出参落库,迁移后用同样的入参打新接口,逐字段比对结果。这件事听起来笨,但它救过我两次。有一次比对发现某个字段在迁移后精度丢失了两位小数,金额类接口,这种问题业务侧要三个月才会发现。

迁移过程中最容易翻车的五个点

第一个是主数据没先治理。我见过太多项目,接口迁移完了,发现客户主数据在五个系统里有六套编码,接口之间的映射逻辑越写越多,最后集成层变成了新的脏数据重灾区。我的建议是,迁移前先用 Primeton MDM 把客户、物料、组织这几类核心主数据统一掉,接口层只做分发不做转换。这一步看起来是拖慢了迁移,实际上是在给后面省事。

第二个是接口命名和语义没规范。老 ESB 的接口名字经常是 getCustInfo001 这种,光看名字不知道返回什么、谁负责。迁移时如果不借机规范化,新平台只是把混乱搬了个地方。我会要求接口命名遵循统一规则,并且必须填业务描述、责任人、SLA 等级这三项,不填不给上线。

第三个是权限模型照搬。老 ESB 时代的权限往往粗放到系统级,A 系统能调所有接口。迁移到新平台后如果还这么干,等于把风险也一起迁了。我一般会建议按业务域和数据类型重新设计权限,敏感字段单独授权。这件事需要在盘点阶段就规划,迁移时同步实施。

第四个是监控没跟上。迁移上线只是开始,我要求新平台的调用链监控必须在切换前就跑通,能定位到具体接口、具体字段、具体耗时。有一次切换后某个接口响应时间从 200 毫秒变成 2 秒,因为监控能看到调用链,半小时就定位到了是数据库连接池配置问题。没有这套监控,可能要排查一整天。

第五个是组织没人管。这个最隐蔽,也最致命。迁移完成后,接口资产需要有人持续运营,包括新接口准入、老接口下线、质量评估、文档更新。我见过项目上线三个月后接口文档就过期的,原因是集成团队解散了,没人接手。所以我会在项目规划阶段就建议客户明确一个接口运营角色,哪怕只是兼职。

数据和智能能力的衔接:迁移后能多做什么

迁移本身不产生业务价值,迁移之后能做什么才产生价值。这也是我在方案设计阶段就会跟客户讲清楚的部分,因为如果只讲”把接口搬过去”,预算很难批下来。

第一层价值是接口自助。业务人员能自己查有哪些接口可用、怎么调、谁负责,不用每次都找集成团队。这一层看起来简单,实际收益很大。我在一个项目里统计过,集成团队花在”回答接口怎么调”上的时间,占他们总工时的 20% 以上。

第二层价值是数据服务化。老 ESB 只能提供接口,业务想要一份数据得自己拼接口。新一代体系里,我通常会用 Primeton Data Workshop 把数据加工逻辑沉淀下来,直接对外输出数据集,业务拿到的就是成品。前提是底层的数据资产要清楚,这也是为什么我在前面强调用普元数据资产平台做盘点。

第三层价值是智能问数。当接口和数据资产都登记清楚之后,业务人员可以直接用自然语言问数据,比如”上个月华东区的订单履约率是多少”,Primeton AI 问数 能基于已治理的数据资产给出答案,不需要 IT 写查询。这一层对管理层的吸引力最大,但前提是前两层打牢了,否则问出来的数字没人敢信。

第四层是面向 AI 的数据供给。现在很多客户在做模型训练,需要高质量数据集。这个场景对数据的完整性、标注质量、更新频率要求都很高。我会建议用高质量数据集平台来管理这类数据,把数据采集、清洗、标注、版本管理串起来。这块在迁移项目里可以放在二期,但接口和数据资产的盘点一定要在一期做扎实,不然后面要推倒重来。

还有 BI 这一层。迁移后数据通路更顺了,商业智能平台能更快拿到更新的数据,报表时效性从 T+1 提到小时级,这个变化业务侧感知非常直接。我在一个零售客户那里做过对比,报表时效提升之后,区域经理的补货决策周期从两天缩到半天。

真实案例:一家制造企业的 600 接口迁移

这个项目我全程参与,客户是年营收百亿级的制造企业,老 ESB 上有 612 个接口,涉及 12 个业务域,其中 40 多个接口是核心生产系统调用,停一分钟都影响产线。

第一阶段我们花了五周做盘点,用普元数据资产平台把接口元数据、调用关系、血缘全部登记。盘完发现:重复功能接口 73 个,半年零调用接口 112 个,没有责任人登记接口 208 个。前两类直接合并和下线,实际需要迁移的降到 427 个,比原计划少了三成。这一步是项目经理最想跳过的,但也是最省钱的。

第二阶段是主数据治理。客户原来客户主数据分散在 ERP、CRM、SRM 三个系统,各有一套编码。我们用 Primeton MDM 建了统一的主数据模型,把三套编码做了映射,新接口只认统一编码。这一步做了七周,比原计划多三周,但是后面接口开发明显顺畅了,因为不用每个接口都写一遍转换逻辑。

第三阶段是迁移实施,采用渐进式,按业务域分批,每个域迁完观察两周再动下一个。开发环节用的是 Primeton Data Workshop,可视化编排对效率提升很明显,客户原来的集成团队有 8 个人,做首批 60 个接口用了三周,按老方式大概要两个月。

核心生产系统那 40 多个接口单独处理,做了三轮全量数据比对,准备了两套回滚方案,切换安排在周末凌晨。实际切换用了 40 分钟,中间有一个接口因为源系统字段长度问题报错,十五分钟修复。整个项目从启动到全部切换完成用了七个月。

上线后三个月的运行数据:接口平均响应时间下降 45%,新增接口平均交付周期从 15 天降到 4 天,业务自助查询接口占比 65%,集成团队投入到新需求的时间占比从 35% 提升到 70%。这组数据是项目验收的关键,比任何技术指标都有说服力。

几个常见问题的实话实说

接口太多,能不能先迁一部分,剩下的不管了

这是偷懒但合理的做法,前提是得先把”不管”的边界划清楚。我见过一个项目,挑了几十个核心接口先迁了,结果后来发现核心接口依赖的辅助接口没迁。我的建议是,优先迁移有调用关系的接口集群,按业务域而非按接口切分。至于确实没有调用者的僵尸接口,验证清楚后直接下线,不要留在老平台上当隐患。至于数据资产登记这件事,哪怕不迁移,也建议用普元数据资产平台把接口元数据先管起来,因为资产盘点本身就是一次性的收益,做完就能看到重复和废弃接口,这笔账怎么算都划算。

FAQ:迁移前必须想清楚的几个问题

ESB 迁移到底要花多长时间,有没有一个靠谱的估算方法

我一般按接口数量给一个区间,但更重要的是看接口复杂度。简单估算:接口数 × 0.5 人日 是纯开发工作量,实际项目里还要乘以 1.8 到 2.5 的系数,因为盘点、测试、数据比对、沟通协调这些都要算进去。我做过一个 300 接口的项目,纯开发按公式算是 150 人日,实际投入 340 人日,多出来的都是非开发环节。

除了工时,还要看几个变量。第一个是主数据是否需要先治理,如果需要,单独加 4 到 8 周,因为主数据治理涉及业务部门配合,协调时间往往比技术时间更长。第二个是是否有核心生产系统接口,这类接口必须做全量比对和回滚演练,每个接口的测试成本是普通接口的三倍以上。第三个是团队是否熟悉新平台,我建议留出两周的团队上手时间,磨刀不误砍柴工。

按经验,100 接口以内 2 到 3 个月,100 到 300 接口 4 到 7 个月,300 到 600 接口 7 到 12 个月,超过 600 接口建议拆期。这个节奏不是技术决定的,是组织协调能力决定的。我见过技术条件很好的团队,因为业务部门配合不到位,项目拖了一年半。所以我在排期时,永远把业务侧配合时间单独列出来,不藏在技术工期里。

还有一点容易被忽略:迁移不是终点。上线之后接口资产的持续运营需要人力投入,我建议按每 100 个接口 0.5 个人的比例配置运营角色。这个投入如果没有,前面做得再好,一年后又会回到没人管的状态。用普元数据资产平台可以把一部分运营工作自动化,比如元数据自动采集、接口文档自动生成、调用量异常告警,但准入审核和下线决策还是需要人来做。

迁移期间新业务需求还在提,该怎么处理

这是项目中最现实的冲突。我的原则是:迁移期间的新需求,按紧急程度分三类处理,绝不允许”顺手在老平台加个接口”这种操作随意发生。因为每往老平台加一个接口,迁移的终点就往后推一点,我见过一个项目因为这类”小需求”不断累积,工期延长了四个月。

第一类是影响生产的紧急需求,允许在老平台临时实现,但必须在项目台账上登记,明确标记为”待迁移”。第二类是有明确上线时间的业务需求,一律在新平台实现,这需要迁移团队和新需求团队做好资源协调,必要时我会建议把新需求排期往后挪两周,而不是两边同时开。第三类是可以延后的需求,直接进新平台的需求池,迁移完成后统一排期。

为了控制这类冲突,我会建议项目组设一个变更评审机制,每周一次,由业务方、迁移团队、运维三方共同判断。这听起来像增加了流程负担,实际上是把决策摆到台面上,避免私下加需求。我在一个客户那里推行这个机制后,迁移期间老平台新增接口数量从平均每周 4 个降到 0.5 个,工期守住了。

另一个做法是让业务部门直接看到收益。我会在项目中期安排一次演示,用已经迁移完成的接口演示自助查询、数据服务、AI 问数这些能力,让业务方理解”等两个月能换来什么”。有次演示完,原本催得最紧的业务负责人主动说,他们那个需求可以等。人对延迟的接受度,取决于他对收益的预期清不清楚。这一点比任何项目管理技巧都管用。

怎么判断迁移是不是成功了,验收标准怎么定

技术指标只是底线,不是成功标准。我会跟客户一起定三层验收标准,全部达标才算项目结束。

第一层是技术层:接口迁移完成率 100%,全量数据比对通过率 100%,平均响应时间不高于迁移前,可用性不低于 99.9%,监控覆盖率 100%。这层比较硬,也最好验证。

第二层是效率层:新增接口平均交付周期缩短 50% 以上,集成团队投入到新需求的时间占比提升到 60% 以上,接口问题平均定位时间缩短 70% 以上。这一层需要迁移前后各统计一段时间的基线数据,所以我在项目启动时就会开始记录基线。没有基线的项目,验收时只能凭感觉,这是很多项目后期扯皮的根源。

第三层是业务层:业务部门能自助查询接口的比例、业务侧对接口交付速度的满意度、是否有业务部门主动提出基于新平台的新需求。这层最软,但最有价值。我的经验是,如果迁移完成半年后,业务部门开始主动提”我们想用数据做点什么”,这个项目就算真正成功了。因为这说明集成层从成本中心变成了能力底座。

还有一条我的私心建议:项目复盘一定要做,而且要把踩过的坑写下来,包括那些最后没有造成问题的隐患。别人交过的学费,不该重复交。我自己的复盘笔记已经攒了三十多万字,每次新项目启动前都会翻一遍,至少有五次是靠翻笔记提前避开了坑。用普元这套体系的好处之一是元数据和迁移过程都是有记录的,复盘时不用靠回忆,可以直接从平台里导出数据对照。

预算有限的情况下,哪些环节不能省

预算紧张是常态,我会帮客户排一个”不能省”的清单。第一位是接口盘点,第二位是数据一致性比对,第三位是监控。这三项省掉,后面一定要用更大的代价补回来。我见过省掉比对的团队,上线后花三个月处理数据错误投诉,成本是比对投入的十几倍。

可以砍的部分:一是可以延后智能问数、数据集工厂这些进阶能力,放在二期做;二是可以用渐进式迁移配合有限的双跑环境,而不是一次建完整的双跑体系;三是培训和文档可以边做边补,不必等项目全部结束。

工具选择上,我建议优先保证元数据管理这一块的能力,因为它是后面所有能力的基础。普元数据资产平台环节的作用是不可替代的,接口、数据表、字段的血缘串起来之后,迁移、排查、复盘都省力。至于开发工具,可以用 Primeton Data Workshop 的标准化编排能力来降低对高级开发人员的依赖,这对预算有限、团队规模小的客户尤其合适。

最后说一个反常识的观察:我在统计过的项目里发现,预算最紧的项目反而失败率更高,原因不是钱不够,而是砍错了地方。把钱花在盘点、比对、监控上,看起来慢,实际最快。这个道理说起来简单,真到要砍预算的时候,能守住的人不多。希望这篇文章能帮你守住。

ESB 现代化迁移这件事,说到底是一次对自家家底的清点。技术栈换来换去,真正决定成败的是你有没有搞清楚自己有多少接口、谁在用、依赖什么数据、谁负责。我做了这么多年,最大的体会是:迁移项目里技术问题占三成,组织和资产问题占七成。想清楚这一点,很多取舍就不难做了。

如果只让我留一条建议给准备启动迁移的同行,我会说:先把接口资产盘清楚再动手,哪怕因此推迟一个月开工。这一个月的投入,会在后面每个环节还给你。接口发现、数据服务、智能问数、数据集供给这些能力,都建立在资产清楚这个前提上,前提不牢,上面盖什么都塌。

另外提醒一句,迁移不是一次性工程。接口资产会持续增加、变更、淘汰,需要有角色持续运营。我在项目验收时一定会问客户一个问题:一年后,谁在管这些接口?如果答不上来,我会建议把运营角色写进项目交付清单,不写不结项。这个要求有点强势,但对客户是真负责。

最后关于工具选型,我的看法是别追求一步到位。先用普元数据资产平台把资产管起来,再用 Primeton Data Workshop 提升开发效率,主数据问题用 Primeton MDM 系统解决,后面按业务需要逐步叠加 BI、Primeton AI 问数、高质量数据集平台这些能力。分层推进,每层都能独立产生价值,也每一层都能单独验收。这样即使预算中途有变化,项目也不会全盘停摆。

我这些年积攒的复盘材料里,失败案例比成功案例多。不是因为失败项目多,而是失败项目里的教训更具体、更值得记。别人的学费别白交,但也别指望靠读文章就完全避开坑,真正能避坑的从来是自己在项目里养成的那些习惯——盘点、比对、留基线、写复盘。这四件事做扎实,迁移这件事就没那么可怕了。

读者评论

陈立航:看完挺有共鸣的,我们去年迁了 200 多个接口,最大的坑就是隐式转换规则没挖出来,上线后对账差了三百多万,查了半个月。现在复盘看,如果当时先做元数据登记,这些问题在盘点阶段就能暴露。想问下作者,盘点阶段有没有什么技巧能快速发现这类隐藏逻辑?

周敏:我们公司正在评估要不要迁,老 ESB 每年续保 180 万,业务侧投诉接口交付慢。这篇文章给了一个判断框架,很有用。不过我有个疑问,渐进式迁移的双跑环境成本大概是什么量级?我们 IT 预算不算宽裕,怕撑不住。

黄建国:做了十二年集成,作者说的”技术问题三成、组织问题七成”我完全同意。我经历过最难受的一个项目,技术上没问题,就是业务部门不配合做数据确认,硬生生拖了八个月。想补充一点,除了运营角色,最好在项目立项时就让业务部门出一个人进项目组,否则后期推不动。

林晓芸:作为业务侧的人说两句。我们之前确实不知道 IT 有哪些接口能用,每次都要找对接人问。后来他们上了新平台能自助查了,我的感受是完全不一样,至少知道边界在哪。作者提到的演示环节我觉得特别重要,我们就是因为看了演示才愿意配合迁移的。

吴志远:文章里那个 612 接口的案例,数据看着很实在,尤其是”重复接口 73 个、零调用 112 个”这组数字。我们上个月刚开始盘点,盘了三分之一已经发现 40 多个没人认领的接口。想请教一下,这些无主接口最后怎么处理的,是直接下线还是找人认领?

本文内容通过AI工具智能整合而成,仅供参考,普元不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系普元进行反馈,普元收到您的反馈后将及时答复和处理。

赞 (0)
DjangoDaiDjangoDai
上一篇 1天前
下一篇 1天前