• 美妙的美人鱼 mermaid 程序猿的画图神器


    mermaid(美人鱼), 是一个类似 Graphviz ,用文本语法来描述各种图(流程图、 时序图、甘特图)的工具!

    flowchart TD
      用户["fa:fa-user用户"] --> API网关("fa:fa-random API网关")
      subgraph one ["领域微服务"]
        direction LR
        认证授权 <--> 用户服务 <--> 商品服务  <--> 交易服务
        style 认证授权 fill:gray,stroke:red,color:#fff,stroke-dasharray: 2 2
        style 用户服务 fill:#a00,stroke:red,color:#fff,stroke-dasharray: 2 2
        style 商品服务 fill:#bb0,stroke:red,color:#fff,stroke-dasharray: 2 2
        style 交易服务 fill:#6419E6,stroke:red,color:#fff,stroke-dasharray: 2 2
      end
      
      subgraph two ["基础设施"]
        配置中心["fa:fa-cogs 配置中心"]
        服务发现["fa:fa-graduation-cap 服务发现"]
        服务监控["fa:fa-cogs 服务监控"]
        日志分析["fa:fa-area-chart 日志分析"]
        配置中心 & 服务发现 & 服务监控 &  日志分析
        style 配置中心 fill:gray,stroke:red,color:#fff,stroke-dasharray: 2 2
        style 服务发现 fill:#a00,stroke:red,color:#fff,stroke-dasharray: 2 2
        style 服务监控 fill:#bb0,stroke:red,color:#fff,stroke-dasharray: 2 2
        style 日志分析 fill:#6419E6,stroke:red,color:#fff,stroke-dasharray: 2 2
      end
    
      API网关 -->one
      one --> two
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    输出如下:

    基础设施
    配置中心
    服务发现
    服务监控
    日志分析
    领域微服务
    交易服务
    认证授权
    用户服务
    商品服务
    用户
    API网关

    再看一个复杂的:

    flowchart LR
    
    start["fa:fa-address-card packageData\n组装数据"] --> if_1{"fa:fa-code-fork if_1判断1"}
    
    if_1 -->|"条件1,指定供应商"| channel1["channel1\n供应商1"]
    if_1 -->|"条件2,指定供应商"| channel2[channel2\n供应商2]
    if_1 -->|"条件3,并行获取\n供应商渠道剩余量"| if_3((" "))
    if_1 -->|"条件4,各种复杂判断"| if_4["biz1获取业务动态值"]
    
    subgraph " "
    d1["channel1Query\n获取供应商1剩余量"]
    d2["channe2Query\n获取供应商1剩余量"]
    d3["channe3Query\n获取供应商1剩余量"]
    d4["channe4Query\n获取供应商1剩余量"]
    d5["channe5Query\n获取供应商1剩余量"]
    d6["channe6Query\n获取供应商1剩余量"]
    
    if_3 --> d1 & d2 & d3 & d4  & d5  & d6
    
    d22["channelSelectc选出剩余量\n最多的那个供应商"]
    d1 --> d22
    d2 --> d22
    d3 --> d22
    d4 --> d22
    d5 --> d22
    d6 --> d22
    end  
    
    if_4 --> f{"if_2判断2"}
    subgraph " "
    f --> f1["channel3供应商3"]
    f --> f2["channel4供应商4"]
    
    f --> f3{"if_3判断3"}
    f3 --> g1["channel5供应商5"]
    f3 --> g2["channel6供应商6"]
    g1 & g2 --> JJ((" "))
    
    f1 & f2 & JJ--> f1f2((" "))
    
    end  
    
    channel1 --> stop["batchsende\n批量发送消息"]
    channel2 --> stop
    d22 --> stop
    f1f2 --> stop
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47

    输出如下:

    条件1,指定供应商
    条件2,指定供应商
    条件3,并行获取
    供应商渠道剩余量
    条件4,各种复杂判断
    channel3供应商3
    if_2判断2
    channel4供应商4
    if_3判断3
    channel5供应商5
    channel6供应商6
    channel1Query
    获取供应商1剩余量
    channe2Query
    获取供应商1剩余量
    channe3Query
    获取供应商1剩余量
    channe4Query
    获取供应商1剩余量
    channe5Query
    获取供应商1剩余量
    channe6Query
    获取供应商1剩余量
    channelSelectc选出剩余量
    最多的那个供应商
    packageData
    组装数据
    if_1判断1
    channel1
    供应商1
    channel2
    供应商2
    biz1获取业务动态值
    batchsende
    批量发送消息
  • 相关阅读:
    Java.lang.Character类中codePointBefore(char[ ] a, int index)方法具有什么功能呢?
    Spring Boot中的Binder类
    软件测试|Python自动化测试实现的思路
    CC57 链表内指定区间反转
    英语语法 — 时态
    (附源码)spring boot智能服药提醒app 毕业设计 102151
    SpringBoot的搭建(两种方式)
    一篇永久摆脱Mysql时区错误问题,idea数据库可视化插件配置
    QtiPlot for Mac v1.1.3(科学数据分析工具)
    【新书推荐】Cleaning Data for Effective Data Science
  • 原文地址:https://blog.csdn.net/wjw465150/article/details/127947889