plantuml画图

手残党推荐画图工具

PlantUML,能够快速快速绘制时序图、用例图、类图、活动图、组件图、状态图、对象图、部署图等,还支持非 UML 图的甘特图、架构图等。

我最常使用的两种是时序图和流程图

时序图

@startuml

actor A as "业务端"
database B as "mysql"
collections C as "canal server"
collections D as "canal client"
collections E as "mq"

title Trigger实现

autonumber

==消息监听==

A->B:触发mysql表更新
activate A
activate B
B->C:canal server监听binlog
activate C
C->D:client消息处理
activate D
D->D:消息过滤
D->D:消息处理、组装
D->E:发往mq
activate E

deactivate D
deactivate B
deactivate C
deactivate D
deactivate E

==业务处理==
E->A:mq消息消费;
activate A
activate E
A->A:判断类型以及表
A->A:选择处理类;
A->A:处理

deactivate A
deactivate E

@enduml

diagram-3455020500769429487

流程图

@startuml

repeat
:触发mysql表更新;
:canal server接收发往client;
:canal client接收到信息;
:消息过滤;
note left
业务端代码需要监听的表
可以通过上报元数据的方式
存储在redis或者数据库中
在client端过滤掉没有监听
的表信息
end note
:消息处理;
fork
:新增消息;
fork again
:更新消息;
fork again
:删除消息;
end fork
:发往mq;
repeat while(触发数据库表变更)

@enduml

diagram-2530653099281411008

官方介绍

官方文档

results matching ""

    No results matching ""