一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - python3使用diagrams繪制架構圖的步驟

python3使用diagrams繪制架構圖的步驟

2021-10-07 00:43陸言君 Python

這篇文章主要介紹了python3使用diagrams生成架構圖的步驟,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下

技術背景

對于一個架構師或者任何一個軟件工程師而言,繪制架構圖都是一個比較值得學習的技能。這就像我們學習的時候整理的一些xmind那種思維邏輯圖一樣,不僅可以幫我們看到組件之間的聯系和層級,還能夠展示出組件的全貌。雖然我們也可以用visio或者edraw等專業繪圖工具來繪制架構圖,但是對于工程師而言,用代碼來直接繪制架構圖,會顯得更加的優雅。這里我們介紹的diagrams,就是一個可以用來繪制架構圖的python包。

diagrams的安裝

與其他python庫一樣的,diagrams也可以通過pip來進行安裝和管理,這里為了更快的安裝,我們使用了騰訊的鏡像源來加速:

?
1
2
3
4
5
6
7
8
9
10
[dechin@dechin-manjaro diagrams]$ python3 -m pip install diagrams -i https://mirrors.cloud.tencent.com/pypi/simple
looking in indexes: https://mirrors.cloud.tencent.com/pypi/simple
collecting diagrams
  downloading https://mirrors.cloud.tencent.com/pypi/packages/d6/4e/d4725222ac080375954d63d3c90243fdaa219fe085327d42b9dc68c71293/diagrams-0.19.1-py3-none-any.whl (19.2 mb)
     |████████████████████████████████| 19.2 mb 6.7 mb/s
requirement already satisfied: graphviz<0.17.0,>=0.13.2 in /home/dechin/anaconda3/lib/python3.8/site-packages (from diagrams) (0.16)
requirement already satisfied: jinja2<3.0,>=2.10 in /home/dechin/anaconda3/lib/python3.8/site-packages (from diagrams) (2.11.2)
requirement already satisfied: markupsafe>=0.23 in /home/dechin/anaconda3/lib/python3.8/site-packages (from jinja2<3.0,>=2.10->diagrams) (1.1.1)
installing collected packages: diagrams
successfully installed diagrams-0.19.1

基礎邏輯關系圖

首先我們用diagrams來繪制一個最簡單的邏輯關系圖,從負載均衡到服務器節點,再到具體的數據庫:

?
1
2
3
4
5
6
7
8
9
# example1.py
 
from diagrams import diagram
from diagrams.aws.compute import ec2
from diagrams.aws.database import rds
from diagrams.aws.network import elb
 
with diagram("web service", show=false):
    elb("lb") >> ec2("web") >> rds("userdb") # 箭頭關系

在這個案例中我們使用了aws提供的一些基礎架構組件的標簽,并且可以指定各個組件模塊的名稱。上述代碼可以直接執行:python3 example1.py,然后會在當前目錄下生成一個這樣的架構圖:

python3使用diagrams繪制架構圖的步驟

整體感覺還是比較精美的,只是如果使用專業工具如visio等來畫圖的話,我們還可以直接對圖片進行切割,操作起來會更加方便。

組件簇的定義

同樣來自于中的示例,我們不僅可以定義單一的組件,還可以將概念中可以組成一個模塊的多個組件組成一個耦合簇,在架構圖中展現:

?
1
2
3
4
5
6
7
8
9
10
11
12
# example2.py
 
from diagrams import diagram, cluster
from diagrams.aws.compute import ec2
from diagrams.aws.database import rds
from diagrams.aws.network import elb
 
with diagram("web service cluster", show=false):
    with cluster("db cluster"):
        db_master = rds("master")
        db_master - [rds("slave1"), rds("slave2")] # 直線連接
    elb("lb") >> ec2("web") >> db_master

運行方式也是通過python3 example2.py,同樣的會在當前目錄下生成一個這樣的圖像文件:

python3使用diagrams繪制架構圖的步驟

我們可以看到剛才定義的幾個數據庫組件,被統一的收納到了一個數據庫的耦合簇中。

總結概要

本文中通過python庫diagrams展示了基礎的架構圖繪制的方法,庫中提供了常用的aws和k8s等場景下常用的組件標簽,使得我們用python代碼也可以繪制精美清晰的架構圖。這里組件之間的連接和耦合關系,也可以通過簡單的符號進行實現,這也得益于python中所特有的魔法函數。

以上就是python3使用diagrams生成架構圖的步驟的詳細內容,更多關于python 用diagrams生成架構圖的資料請關注服務器之家其它相關文章!

原文鏈接:https://www.cnblogs.com/dechinphy/p/diagrams.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 丰满的闺蜜2中文字幕 | 天天做天天爱天天一爽一毛片 | 日本亚洲欧洲高清有码在线播放 | 母爱成瘾在线观看 | 久久婷婷五月免费综合色啪 | 欧美老骚 | 四虎影视色费永久在线观看 | 俺去俺来也www色官网免费的 | 国产一卡 | 日韩精品一区二区三区中文在线 | 潘金莲西门庆一级淫片aaaaaa | 美女18隐私羞羞视频网站 | 236zz宅宅最新伦理 | 欧美亚洲另类综合 | 亚洲一二三区视频 | www日本高清视频 | 日本三级成人中文字幕乱码 | 肉搏潘金莲三级18春 | 国产欧美日韩综合二区三区 | 91精品啪在线观看国产老湿机 | 男人插曲女人身体 | 校花在公车上被内射好舒服 | 日韩基地1024首页 | 欧美a在线观看 | 午夜国产在线 | 免费大秀视频在线播放 | 96日本xxxxxxxxx70 95在线观看精品视频 | 私人影院在线播放 | 天堂网www在线观看 天堂欧美 | 9久热这里只有精品视频在线观看 | h玉足嫩脚嗯啊白丝 | 精品欧美日韩一区二区三区 | 极品妖艳许清赵丽全文免费阅读 | www.男人的天堂.com | 蝴蝶传媒免费安装 | 大伊香蕉在线精品不卡视频 | 忘忧草在线社区WWW日本直播 | 午夜欧美精品久久久久久久 | 全黄h全肉细节文在线观看 全彩成人18h漫画 | 九九九精品视频 | 亚洲天堂日韩在线 |