迁移依赖矩阵

把应用间调用关系整理成矩阵:谁调用谁、协议与端口、是否跨机房、能否接受停机;这是批次排序的依据,避免出现先迁数据库再迁应用之类的顺序错误。

云平台与虚拟化速查云更新于 2026-10-13

迁移依赖矩阵是什么

迁移依赖矩阵把应用之间的调用关系整理成表:谁调用谁、走什么协议与端口、是否跨机房、能否接受停机。它是批次排序的依据,用来避免“先迁数据库再迁应用”这类顺序错误——顺序错了,切换窗口会被无限拉长,回退也变得复杂。

基本信息

矩阵维度源 → 目标 / 协议与端口 / 时延敏感 / 停机容忍
数据来源抓包分析、APM 拓扑、配置检索
用途批次分组与切换顺序
红线强依赖的业务尽量整批切换
维护节奏新增系统与接口变更后同步更新
配套交付物每批的切换步骤、验证点与回退方案

典型使用场景

  • 制定迁移批次:先无状态、后中间件、最后数据库
  • 核查新增系统是否已纳入矩阵,避免割接当天冒出陌生调用
  • 评估跨机房调用的时延影响,判断哪些必须同机房
  • 设计切换与回退顺序,明确每批的前置条件
  • 作为割接前的交叉检查清单逐项签字确认

从配置与运行时提取依赖

从配置与运行时提取依赖
grep -RhoE '(jdbc|redis|mongodb|amqp)://[^/"[:space:]]+' /etc /opt/app 2>/dev/null | sort -u | head
ss -tnp | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head   # 实际连接对端排行
ss -lntp | head -20                        # 本机监听端口,对应被哪些系统调用
nmap -sT -p 3306,6379,9200 <本网段>/24     # 只对自己网段扫,补齐未登记的调用方

矩阵字段与判定

字段取值示例用途
调用方向A → B决定迁移先后顺序
协议与端口TCP 3306 / 6379制定安全组与放行规则
时延敏感高 / 中 / 低决定是否必须与对端同机房
停机容忍可停 / 需窗口 / 不可停决定用停机还是在线方案
跨域情况同机房 / 跨机房 / 跨云决定网络链路与带宽要求
配置里写死的依赖只是一部分:运行时的连接观测(ss、APM 拓扑)才能发现动态类依赖,例如注册中心下发的地址、定时任务回调与消息订阅关系。
矩阵不更新就等于没有矩阵:割接前才发现新增的外部接口未纳入,整批切换会退化成带风险的临时救火。把矩阵更新写进变更流程,谁加接口谁登记。

易错点

  • 依赖矩阵不更新:割接前发现新增的三个外部接口未纳入,切换方案临时改写
  • 把可拆分的批次拆得过散:回退时状态组合复杂,谁也说不清回哪一步
  • 只查配置文件不查运行时连接,漏掉动态发现与消息订阅类依赖
  • 把强依赖的两个系统分在不同批次切换,中间窗口两边数据对不上

数据来源与参考

  • 阿里云 应用迁移依赖梳理文档
  • 华为云 迁移方案设计文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌