时序图演示
时序图演示
Mermaid 时序图用于展示系统间的交互、API 调用等时间序列关系。
基础时序图
sequenceDiagram
participant 用户
participant 浏览器
participant 服务器
用户->>浏览器: 输入 URL
浏览器->>服务器: HTTP 请求
服务器->>服务器: 处理请求
服务器-->>浏览器: HTTP 响应
浏览器->>浏览器: 渲染页面
浏览器-->>用户: 显示页面
PowerWiki 工作流程
sequenceDiagram
participant 用户
participant 浏览器
participant PowerWiki
participant Git仓库
用户->>浏览器: 访问 Wiki
浏览器->>PowerWiki: 请求文章
PowerWiki->>PowerWiki: 检查缓存
alt 缓存存在
PowerWiki-->>浏览器: 返回缓存内容
else 缓存不存在
PowerWiki->>Git仓库: 拉取最新内容
Git仓库-->>PowerWiki: 返回 Markdown
PowerWiki->>PowerWiki: 解析 Markdown
PowerWiki->>PowerWiki: 生成 HTML
PowerWiki-->>浏览器: 返回 HTML
end
浏览器->>浏览器: 渲染页面
浏览器-->>用户: 显示文章
用户认证流程
sequenceDiagram
participant 用户
participant 客户端
participant 认证服务
participant 数据库
用户->>客户端: 输入用户名密码
客户端->>认证服务: 发送登录请求
认证服务->>数据库: 查询用户
database->>认证服务: 返回用户信息
alt 用户存在
认证服务->>认证服务: 验证密码
alt 密码正确
认证服务->>认证服务: 生成 Token
认证服务-->>客户端: 返回 Token
客户端-->>用户: 登录成功
else 密码错误
认证服务-->>客户端: 返回错误
客户端-->>用户: 显示错误信息
end
else 用户不存在
认证服务-->>客户端: 返回错误
客户端-->>用户: 用户不存在
end
微服务调用链
sequenceDiagram
participant 客户端
participant API网关
participant 用户服务
participant 订单服务
participant 支付服务
participant 数据库
客户端->>API网关: 创建订单请求
API网关->>用户服务: 验证用户
用户服务->>数据库: 查询用户
数据库-->>用户服务: 返回用户信息
用户服务-->>API网关: 用户有效
API网关->>订单服务: 创建订单
订单服务->>数据库: 保存订单
数据库-->>订单服务: 订单已保存
订单服务->>支付服务: 发起支付
支付服务->>支付服务: 处理支付
支付服务-->>订单服务: 支付成功
订单服务-->>API网关: 订单创建成功
API网关-->>客户端: 返回订单信息
缓存更新流程
sequenceDiagram
participant 应用
participant 缓存
participant 数据库
应用->>缓存: 查询数据
alt 缓存命中
缓存-->>应用: 返回数据
else 缓存未命中
应用->>数据库: 查询数据
数据库-->>应用: 返回数据
应用->>缓存: 写入缓存
缓存-->>应用: 缓存成功
应用-->>应用: 返回数据
end
分布式事务
sequenceDiagram
participant 协调者
participant 服务A
participant 服务B
participant 服务C
协调者->>服务A: 准备事务
协调者->>服务B: 准备事务
协调者->>服务C: 准备事务
服务A-->>协调者: 准备完成
服务B-->>协调者: 准备完成
服务C-->>协调者: 准备完成
alt 所有服务都准备好
协调者->>服务A: 提交事务
协调者->>服务B: 提交事务
协调者->>服务C: 提交事务
服务A-->>协调者: 提交成功
服务B-->>协调者: 提交成功
服务C-->>协调者: 提交成功
else 某个服务准备失败
协调者->>服务A: 回滚事务
协调者->>服务B: 回滚事务
协调者->>服务C: 回滚事务
服务A-->>协调者: 回滚成功
服务B-->>协调者: 回滚成功
服务C-->>协调者: 回滚成功
end
异步消息处理
sequenceDiagram
participant 生产者
participant 消息队列
participant 消费者1
participant 消费者2
生产者->>消息队列: 发送消息
消息队列-->>生产者: 消息已接收
消息队列->>消费者1: 分发消息
消息队列->>消费者2: 分发消息
消费者1->>消费者1: 处理消息
消费者2->>消费者2: 处理消息
消费者1-->>消息队列: 处理完成
消费者2-->>消息队列: 处理完成
消息队列->>消息队列: 删除消息
WebSocket 实时通信
sequenceDiagram
participant 客户端
participant 服务器
客户端->>服务器: WebSocket 连接
服务器-->>客户端: 连接成功
loop 实时通信
客户端->>服务器: 发送消息
服务器-->>客户端: 广播消息
服务器->>客户端: 推送更新
客户端-->>服务器: 确认接收
end
客户端->>服务器: 关闭连接
服务器-->>客户端: 连接已关闭
提示: 时序图适合展示系统间的交互、API 调用、业务流程等。使用箭头表示消息流向,虚线表示返回。
更新时间:2026年2月24日