news 2026/9/15 12:01:01

Mermaid时序图进阶:4个关键字画清并发、分支与关键路径

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Mermaid时序图进阶:4个关键字画清并发、分支与关键路径

Mermaid时序图进阶:4个关键字画清并发、分支与关键路径

【免费下载链接】mermaidGeneration of diagrams like flowcharts or sequence diagrams from text in a similar manner as markdown项目地址: https://gitcode.com/GitHub_Trending/me/mermaid

一条消息队列消息要驱动多个下游服务,还带重试和超时兜底,一张普通时序图根本画不下。本文用4个关键字,在Mermaid时序图里表达并行流程与条件分支:par、alt/opt、critical、rect。示例均可直接粘贴运行。

三个自检问题,确定用哪个关键字

动笔前先问自己三个问题,每个问题对应一个关键字:

  1. 有没有多个步骤同时执行?用par
  2. 流程会不会因状态不同而分叉?alt是多选一,opt是满足条件才执行
  3. 有没有必须成功的路径,失败还要分情况处理?用critical,异常挂在option

分工一句话:par管"同时做多件事",alt/opt管"不同情况做不同的事",critical管"这条路必须成"。只想给某个阶段涂个底色,用rect就行,它不参与逻辑。

par关键字:并行流程怎么写

par开启一个并行块,块内每个and切出一个新分支,每个分支放各自的消息。分支标签写清楚"谁在并行做什么"。消息队列消费是典型场景:消费者收到消息后,同时写档案和日志。

⚠️parend必须一一配对;嵌套两层基本够用,三层以上图会很难读。

alt关键字:条件分支怎么写

alt类似 if/else:标签写条件,用else分多条路径,最后统一end收尾。opt没有 else,块只在条件成立时执行,相当于可选步骤。文件上传场景里,大小校验是必走分支,哈希校验是可选步骤。

⚠️ 最可能发生的分支放第一个;分支标签用动宾短语,如"文件超过上限",别写"异常"。

critical与rect:关键路径怎么标

critical声明"这段必须成功",内部可挂多个option块,一个对应一种失败情况。rect只负责涂背景色,用来视觉强调某个阶段。CI/CD 流水线很典型:构建必须成功,部署前阶段再高亮一下。

⚠️option块是可选的,不带任何optioncritical合法,表示只标记必须成功的段落。

完整案例:设备指令下发流程怎么画

指令下发几乎用上了全部特性:成功与失败走条件分支,兜底动作并行执行,兜底区再用背景色圈出来。

逐段拆一下:

  1. 顶部autonumber给每条箭头编号,评审时直接说"第15步超时",不用数箭头。
  2. Gateway->>+Device+自动激活 Device,用激活条表示"正在处理";末尾deactivate释放。+/-与显式 activate/deactivate 别混用错配,否则激活条会错位。
  3. Device-xGateway: 连接超时用叉号箭头-x表示消息失败,比虚线箭头更直白。
  4. alt 块里成功分支在前、失败分支在后,读者先看到主线。
  5. par 里两个and分支是同时执行的兜底动作,外面套rect圈成独立的"兜底区"。
  6. %%注释行用来标注兜底策略,解析器忽略,渲染后不可见。

特性速查表

关键字作用何时用
par / and并行流程块多个动作同时执行
alt / else多条件分支状态不同结果不同
opt可选流程满足条件才执行
critical / option关键路径与异常处理必须成功且失败要分情况
rect背景高亮强调某个阶段
loop循环块定时或重复执行
break流程中断异常后跳过后续步骤

想继续深入,看这两篇:

  • 时序图完整语法
  • Mermaid配置项

【免费下载链接】mermaidGeneration of diagrams like flowcharts or sequence diagrams from text in a similar manner as markdown项目地址: https://gitcode.com/GitHub_Trending/me/mermaid

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/15 11:59:46

JDK28值类与Spring Boot4.1响应式升级实战指南

1. 这不是一份“新闻简报”,而是一份JVM生态实战者的手记Java周刊2026W35这个标题,表面看是时间戳版本号的堆砌,但如果你真在一线写业务、搭平台、调性能,就会立刻意识到:这一期不是更新日志,而是JVM技术栈…

作者头像 李华
网站建设 2026/9/15 11:59:16

用WeChatMsg导出微信聊天记录并生成年度报告

用WeChatMsg导出微信聊天记录并生成年度报告 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg 换手机或者…

作者头像 李华