2.5 KiB
2.5 KiB
ADR-0009:交付形态——纯平台包 + APS 单独部署
- 状态:已接受
- 日期:2026-09-24
- 决策人:技术负责人
- 相关:任务表 A0(决策 D14);ADR-0008;实施设计第 3、7 节
背景
平台把 APS 作为外部业务系统接入。首版交付有两种做法:把 APS 打进桌面安装包(同机一体化交付),或只交付平台、APS 单独部署。这个选择影响安装包内容、本地守护范围、发版节奏与联调方式。
选项
| 选项 | 做法 | 代价 | 不选的理由 |
|---|---|---|---|
| A 纯平台包,APS 单独部署 | 安装包只含桌面端 + 平台服务;APS 由现场单独部署,平台按 Provider 配置指向它 | 现场要装两套、维护两个地址 | 选定 |
| B 同机一体包 | 安装包里带 APS | 现场只装一次 | APS 是独立系统:独立发版节奏、独立库、独立界面。打进平台包会把两者的升级与回滚绑死,平台安装包还要多背一个 Python 运行时 |
| C 两种都做 | 同时提供 | 灵活 | 首版维护两套打包与两套验收,成本翻倍 |
结论
选 A:首版只交付纯平台包,APS 单独部署(同机或异地都行)。
| 项 | 结论 |
|---|---|
| 平台包内容 | 桌面端 + 平台服务 + 平台库(SQLite)+ Provider 契约;不含 APS 运行时与 APS 库 |
| APS 位置 | 由 Provider 实例配置指向:地址、账号、健康状态都在平台侧配置,不在安装包里 |
| 未接入时的行为 | 平台必须能正常启动,并把「未接入 / 不可用」作为明确状态呈现(健康探测见 A5.5) |
| APS 的运维 | 安装、升级、备份、回滚归 APS 自己(B7 / B-G) |
影响
- 对代码:平台不假设 APS 在同机;Provider 配置里的 APS 地址就是普通外部地址
- 对任务:A1.5 一键启动只拉起平台(含本地库),不拉 APS;A10.5 本地守护只管平台服务;A10.8 只验收纯平台包;A5 联调需要 APS 单独部署的环境(依赖 B5)
- 对文档:术语表已写明「单机版不含 APS」(ADR-0008);本文补齐交付形态这一维
- 不这么做的后果:把 APS 塞进平台包,两者升级与回滚被绑死,平台安装包多背一个 Python 运行时,故障面也变大
遗留
- 平台包与 APS 的版本兼容矩阵:A5 联调时按 Provider manifest 的「兼容平台版本」字段落
- 开发期 APS 用旧网关还是 B5 之后的新接口:A5 开工前定,属 B0 的范围