docs(acm2-75): 收敛 Kafka 口径并清掉航班版本号残留
- Kafka「尚需确定」去掉消费者去重与版本标识,改为消费方的字段要求 - `schd` 落定内容(`SCHD.FLTR` JSON,空字段不输出)、删除不进本主题、批次边界为定时 tick - `Q1` 收窄为 record 粒度(`C-9` 每条一条 vs 旧系统整批一个数组) - `Q5` 由版本标识改为 `msg` 的字段、编码与删除区分 - 删除航班版本号表述:README 事实归属的 `STATE_VERSION`、契约 `FLIGHT_SCHD` 的版本字段、验证映射 `INV-4` - 删除 requirements 的「本版本主要新增能力」changelog 句
This commit is contained in:
@@ -54,7 +54,7 @@
|
||||
|
||||
### 2.4 下游(admin-api、网页客户端与运营航班显示界面)
|
||||
|
||||
- **C-9** 航班变更发到 Kafka 主题 `msg`(单条)和 `schd`(批量);`schd` 每条为运营航班 JSON;不设消息键。同一条可能发多次。
|
||||
- **C-9** 航班变更发到 Kafka 主题 `msg`(单条)和 `schd`(批量);`schd` 的内容是 `SCHD.FLTR` 序列化出的 JSON,空字段不输出,边界是定时任务的一次 tick——两次 tick 之间积累的变化整批发一次,没有变化就不发;删除航班不进 `schd`,只由 `msg` 发一条删除通知;不设消息键。同一条可能发多次。
|
||||
- **C-10** 静态参考数据写入本系统数据库,供 admin-api 只读;本系统不调用 admin-api。
|
||||
- **C-11** 航班投影写入 Redis,供读取全体动态航班;`GET /all/flights` 与网页客户端读同一份;返回 JSON 由消息文档中的 XML 结构转换而来(`Q6`、`Q21`)。
|
||||
|
||||
@@ -106,11 +106,11 @@
|
||||
|
||||
| 编号 | 事项 | 当前假定 | 影响 |
|
||||
|---|---|---|---|
|
||||
| Q1 | `schd` 的 value 字段与类型、删除航班的表达方式、批次边界、消费者去重规则 | 每条 record 为一条运营航班 JSON(`C-9`);批次边界按定时窗口 | 消费方读取契约无法定稿 |
|
||||
| Q1 | `schd` 的 Kafka record 粒度 | 按 `C-9` 是每条 record 一条运营航班 JSON;旧系统相反,把两次定时 tick 之间积累的整批序列化成一个 JSON 数组作为单条 record 发出 | 消费方的解析方式与 `C-9` 二者只能取一 |
|
||||
| Q2 | 请求与应答按时间匹配时的时钟偏斜容忍判据 | 比较前统一时区与单位(implementation.md「上游请求与静态数据」) | 容忍判据未定前,降级匹配不得描述为精确关联 |
|
||||
| Q3 | 现场会发但 SIS 未定义的子类型(靠桥、延误等)的报文形态与逐类终态 | 按现有处理逻辑延续,不得因 SIS 未记载就丢掉(`US-05` AC1) | 逐类终态与幂等规则未定(`G-FLOP-SEMANTICS`) |
|
||||
| Q4 | 上游重发时是否可能改发正文 | 报文不可变,绑定身份后不比对内容(implementation.md「消息、身份与决策」) | 改发正文的重发会被判为重复并跳过 |
|
||||
| Q5 | `msg` 的版本与去重标识是否直接采用航班当前态的版本号 | 可用依据是航班当前态的版本规则(implementation.md「航班域:权威模型与合并写入语义」) | 消费方去重规则未定(与 `Q1` 衔接) |
|
||||
| Q5 | `msg` 的 value 字段与类型、编码方式、变更与删除的区分方式 | 沿用旧系统:value 是 `MSG` 的 JSON(`META` 加对应业务体),日计划到达通知只有 `META`(接口契约「Kafka」) | 消费方读取契约无法定稿 |
|
||||
| Q6 | 网页客户端读取 Redis 投影的约定 | 沿用旧系统的 hash `flightInfo`:field 为 `FLID`,value 为完整航班对象的带类型 JSON,不设过期;写入与移除时机见 `INV-7`、`INV-8`、`INV-10`;派生字段 `MAFL`、`abdg` 是否随投影提供仍未定;只作查询、不是权威;与 `GET /all/flights` 同一份(`C-11`;接口契约「Redis:航班查询投影」) | 消费方读取契约无法定稿 |
|
||||
|
||||
答复就地更新结论,并按 [README.md](README.md)「维护清单」落到对应条款。
|
||||
@@ -184,7 +184,7 @@
|
||||
| INV-7 | `US-07` AC2/AC3 | 缺席的航班在 PG 标为已删除并从 Redis 投影移除;未携带的字段被清空 |
|
||||
| INV-3 | `US-03` AC4、`US-05` AC4、`US-06` AC1 | 投影写失败时,没有终态与回填意图落库;处理完成前事件不可投递 |
|
||||
| US-14 AC4 | `US-14` AC4 | 历史清理跳过正在被消息处理的航班 |
|
||||
| INV-4 | `US-07` AC1 | 校验失败后本地数据与版本不变 |
|
||||
| INV-4 | `US-07` AC1 | 校验失败后本地数据不变 |
|
||||
| INV-9 | `US-07` AC4/AC5 | 分批失败后整包重处理收敛到同一目标(`G-SCHD-SNAPSHOT` 闭合前无法验证);Redis 在整包写入完成后按快照刷新,成功即与快照一致 |
|
||||
| CLM-1 | `US-03` | 同一消息不产生两次效果;逐子类型规则与幂等矩阵在 `Q3`、`G-FLOP-IDEMPOTENT`、`G-FLOP-SEMANTICS` 闭合前无法验证 |
|
||||
| INV-8 | `US-06` AC1 | 航班标记删除后从投影移除;移除失败时下轮重做 |
|
||||
|
||||
Reference in New Issue
Block a user