← 设计综述 | Phase 3 · 共享实体 & 高级能力 4 周
24 个任务 · 4 周
📅 Phase 3 · 共享实体 & 高级能力

让数据共享可见、变更可控

Phase 2 建立了能力依赖网络,Phase 3 让共享数据实体化——定义集群级共享实体、建立项目引用关系、实现 L3 级联影响分析、支持能力版本多版本共存。

📅 Phase 3 开始 ⏱️ 4 周(24 工作日) 📋 24 个任务 🎯 7 张线框图

核心目标

💡 Phase 3 的核心交付

集群级共享实体定义、项目数据模型引用共享实体、L3 级联影响分析(实体→项目→能力→上游)、能力版本多版本共存(创建/发布/弃用/回滚/对比)、集群级文档导出。

📦 共享实体

集群级统一数据模型,不属于任何单一项目。项目通过引用声明使用关系。

🔗 影响分析

L3 级联:修改实体字段 → 影响哪些项目 → 影响哪些能力 → 影响哪些上游系统。

🔄 版本管理

能力多版本共存,消费者绑定到特定版本,支持回滚和版本对比。

明确边界:本阶段不做

⚠️ 范围控制
不做的事原因推迟到
自动依赖检测数据基础不具备Phase 4+
集群模板需要真实使用数据Phase 4
一键部署超出原型阶段远期
跨集群关系单集群尚未稳定Phase 5+

共享实体

数据模型

共享实体是集群级别的统一数据模型,不属于任何单一项目。与现有项目的实体无关——项目通过 sharedEntityRefs 声明"我引用了这个共享实体"。

{ id: 'shared-user', name: 'User', label: '用户', description: '集群内统一用户模型', clusterId: 'cluster-xxx', fields: [ {name: 'id', type: 'id', required: true, label: '主键'}, {name: 'name', type: 'string', required: true, label: '姓名'}, {name: 'email', type: 'string', required: false, label: '邮箱'}, {name: 'createdAt', type: 'datetime', required: true} ], relations: [ {fromEntity: 'User', toEntity: 'Order', type: '1:N', label: '拥有订单'} ] }

项目引用关系

📐 版本管理策略

与能力不同,共享实体不支持版本管理。修改共享实体字段时,通过影响分析(L3 级联)通知所有引用项目,由项目团队决定何时升级。如需"灰度"修改,可通过新增字段(而非修改现有字段)实现向后兼容。

项目通过 sharedEntityRefs 字段声明引用了哪些共享实体:

// 项目数据模型中引用共享实体 { dataModel: { entities: [ {name: 'OrderItem', fields: [...]}, // 私有实体 {name: 'Shipping', fields: [...]}, // 私有实体 {name: 'User', ref: 'cluster:User', fields: []} // 引用共享实体 ], sharedEntityRefs: ['User', 'Product'] // 引用的共享实体列表 } }

影响分析(L3 级联)

修改共享实体字段时,级联分析影响范围:

// L3 级联影响链 修改 User.email 字段(类型: string → string | null) │ ├─→ L1: 直接影响 │ └─→ 订单系统(引用 User 实体) │ ├─→ L2: 能力影响 │ └─→ 用户认证能力(依赖订单系统的 User 数据) │ └─→ L3: 上游影响 └─→ 客服系统(消费用户认证能力) └─→ 营销系统(消费用户认证能力)

影响分析可视化

树形结构展示影响链,支持展开/折叠每一级。每个节点显示影响等级(🔴高/🟡中/🟢低)。

能力版本管理(完整版)

功能说明
创建新版本基于当前版本复制 schema,保存为 draft 状态
发布版本draft → stable,通知所有消费者,更新 schema
弃用版本stable → deprecated,设置弃用时间,不再接受新消费者
回滚将旧版本重新设为 stable,当前版本设为 deprecated
版本对比并排显示两个版本的 schema diff,高亮变更字段
影响分析切换版本前,分析哪些消费者会受影响(基于 schema diff)

版本状态流

draft ──发布──→ stable ──弃用──→ deprecated │ └──回滚──→ stable(旧版本)

集群文档导出

导出内容(不含各项目自己的 PRD/交接文档):

导出项内容
集群总览层结构 + 项目分布 + 统计数字
共享实体清单所有共享实体定义(字段 + 关系)
能力注册表所有已注册能力(含版本信息)
依赖关系图跨层依赖(可导出为图片/SVG)

线框图(7 张)

1️⃣ 共享实体定义

集群工作台的新 Tab,定义和管理集群级共享实体。

集群工作台 · 共享实体 Tab
任务 1.1-1.3Day 1-5
总览
分层架构
能力依赖
共享实体
文档

共享实体(3 个)

👤 User(用户)

5 个字段 · 1 个关系 · 被 3 个项目引用

stable
📦 Product(商品)

4 个字段 · 被 2 个项目引用

stable

2️⃣ 项目引用配置

在项目数据模型中配置引用哪些共享实体。

项目数据模型 · 共享实体引用
任务 1.4-1.5Day 6-7
👤 User 📦 Product
共享实体字段项目字段
User.idUser.id(自动映射)
User.nameUser.nickname(手动映射)

3️⃣ 影响分析面板

修改共享实体字段时,展示 L3 级联影响链。

影响分析 · 修改 User.email
任务 2.1-2.3Day 8-14
变更内容:User.email 字段类型从 string 改为 string | null
🔴 L1: 直接影响(1 个项目)
└─→ 订单系统(引用 User.email)
🟡 L2: 能力影响(1 个能力)
└─→ 用户认证能力(依赖 User.email 校验登录)
🟢 L3: 上游影响(2 个系统)
└─→ 客服系统(消费用户认证能力)
└─→ 营销系统(消费用户认证能力)
⚠️ 本次变更影响 1 个项目1 个能力2 个上游系统

4️⃣ 能力版本管理

能力支持多版本共存,消费者绑定到特定版本。

能力版本管理 · 用户认证
任务 3.1-3.3Day 15-18
v2.0 stable · 2026-06-01 · 消费者:订单系统、客服系统
新增短信登录、微信登录;token 拆分为 access/refresh
v1.0 deprecated · 2025-01-15 · 无活跃消费者
v2.1-beta beta · 2026-09-01 · 消费者:无

5️⃣ 版本对比

并排显示两个版本的 schema diff,高亮变更字段。

版本对比 · v1.0 vs v2.0
任务 3.4Day 19

v1.0

input: username: string password: string output: token: string expiresIn: number

v2.0

input: loginType: enum(password,sms,wechat) credential: string output: accessToken: string refreshToken: string expiresIn: number
⚠️ 破坏性变更:input 字段完全变更,output 新增 refreshToken。需要同步修改 2 个消费者。

6️⃣ 文档导出配置

选择要导出的内容和格式。

集群文档导出
任务 4.1-4.2Day 20-21
导出集群文档

7️⃣ 导出预览

预览导出内容,确认后下载。

导出预览
任务 4.3Day 22
# 企业级业务平台 · 集群文档

## 1. 集群总览
- 4 层 · 12 个项目 · 28 个能力 · 45 条依赖

## 2. 共享实体清单
### 2.1 User(用户)
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| id | id | ✓ | 主键 |
| name | string | ✓ | 姓名 |
| email | string | | 邮箱 |

## 3. 能力注册表
### 3.1 用户认证(cap-user-auth)
- 类型:api_service
- 版本:v2.0 (stable)
- 消费者:订单系统、客服系统

## 4. 依赖关系图
[依赖关系图 SVG]
            

任务清单(24 项)

📅 Week 1 · 共享实体(Day 1-5)

#任务Day工作依赖
1.1共享实体数据模型D11 天-
1.2sharedEntity CRUD RPCD21 天1.1
1.3共享实体定义 UID3-42 天1.2
1.4项目 sharedEntityRefs 配置D51 天1.2

📅 Week 2 · 影响分析(Day 6-10)

#任务Day工作依赖
2.1影响分析引擎(L1: 实体→项目)D6-72 天1.4
2.2影响分析引擎(L2+L3: 能力→上游)D8-92 天2.1
2.3影响分析可视化(树形结构)D101 天2.2

📅 Week 3 · 能力版本管理(Day 11-15)

#任务Day工作依赖
3.1能力版本数据结构D111 天-
3.2版本 CRUD RPCD121 天3.1
3.3版本管理 UI(创建/发布/弃用/回滚)D13-142 天3.2
3.4版本对比 UID151 天3.3

📅 Week 4 · 文档导出 + 联调(Day 16-20)

#任务Day工作依赖
4.1文档导出引擎D16-172 天-
4.2导出配置 UID181 天4.1
4.3导出预览 UID191 天4.2
4.4端到端测试 + 文档D201 天4.3

完成标准(Definition of Done)

✅ Phase 3 完成时,以下必须全部满足
#验收项验证方式
1可创建/编辑/删除集群级共享实体UI 检查
2共享实体支持字段定义 + 关系定义创建测试实体
3项目可配置 sharedEntityRefs 引用共享实体配置测试
4影响分析 L1: 显示哪些项目引用了实体修改测试实体
5影响分析 L2: 显示哪些能力依赖该项目修改测试实体
6影响分析 L3: 显示哪些上游系统受影响修改测试实体
7能力版本支持创建/发布/弃用/回滚创建测试版本
8版本对比显示 schema diff对比测试
9版本切换前显示影响分析切换测试
10集群文档导出包含总览+实体+能力+依赖导出测试
11导出格式支持 Markdown导出测试
12文档完成docs/
13无 P0/P1 Bug 残留端到端测试

风险与缓解

风险概率影响缓解措施
共享实体粒度难以统一提供推荐模板,允许自定义调整
影响分析性能(大数据量)缓存 + 异步计算
版本管理复杂度高提供默认版本策略,简化操作