图集
支撑架构与各概念页。共 4 个页面、12 张 mermaid 图、2 张 ASCII 时间线、8 张散文表格 —— 都是同一个系统的不同视角,请把它们当成一组读。
mermaid 源码即产物:改的是围栏代码块,永远不要贴截图。图与本表不一致时,以图为准,本表是 bug。
四页均已中文化:围栏外的标题、说明、表格全部译出;代码围栏内的 mermaid 与 ASCII 保持英文 —— 它们是两种语言必须渲染一致的图源,节点标注按标识符处理。
表格是内容,不是装饰
8 张散文表格承载着任何图里都没有的信息:Actor×Goal 语义基线、全项目的延迟预算、CI 强制的模块依赖规则、运行时快照的一致性断言。只保留图而丢掉表 = 回归。
行为
| 页 | 图 | 回答什么 |
|---|---|---|
| 用例与流程 | 3 张 mermaid | 谁通过 MortarMQ 做什么(UC1–UC12),以及 broker 走哪条分支 —— 附上作为语义事实来源的 Actor×Goal 表 |
| 关键时序 | 3 张 mermaid | 发布→投递、增量 rebalance、lease 超时选举三条链路的逐帧消息次序 |
状态、时限与不变量
| 页 | 图 | 回答什么 |
|---|---|---|
| 状态、时限与不变量 | 4 张 mermaid + 2 张 ASCII | 合法状态与迁移(broker / 客户端 / 投递)、所有设计必须落进去的延迟预算,以及一张「当下必须成立」的运行时快照断言表 |
结构
| 页 | 图 | 回答什么 |
|---|---|---|
| 结构 | 2 张 mermaid | 包级拆分与依赖允许的流向,以及其中的类型 |
四页之间的关系
- 用例与流程 ↔ 关键时序画的是同一条发布/消费链路的两种记法:flowchart 看分支条件与守恒,sequence 看参与者次序。互不包含,两页页首都写清了对方的范围。
- 状态、时限与不变量收编了对象快照而不是放进「结构」,因为它的载荷是不变量断言表(INV/CM/CB 词表),不是类型布局。
- 结构把依赖规则写成 CI 强制的 import 断言;类图是同一套规则的类型级表达,并明确以规则表为权威。
关于图种的说明
mermaid 没有原生的 UML 用例图、对象图和时序约束图语法,因此这三类分别用 flowchart、类图实例记法和 ASCII 泳道近似。近似会丢信息的地方,页面里附了语义表 —— 那张表才是事实来源,读文字而不只是看图。