国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

python3使用diagrams繪制架構(gòu)圖的步驟

瀏覽:4日期:2022-06-23 08:48:49
技術(shù)背景

對(duì)于一個(gè)架構(gòu)師或者任何一個(gè)軟件工程師而言,繪制架構(gòu)圖都是一個(gè)比較值得學(xué)習(xí)的技能。這就像我們學(xué)習(xí)的時(shí)候整理的一些Xmind那種思維邏輯圖一樣,不僅可以幫我們看到組件之間的聯(lián)系和層級(jí),還能夠展示出組件的全貌。雖然我們也可以用Visio或者Edraw等專業(yè)繪圖工具來繪制架構(gòu)圖,但是對(duì)于工程師而言,用代碼來直接繪制架構(gòu)圖,會(huì)顯得更加的優(yōu)雅。這里我們介紹的diagrams,就是一個(gè)可以用來繪制架構(gòu)圖的python包。

diagrams的安裝

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

[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/simpleCollecting 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: diagramsSuccessfully installed diagrams-0.19.1基礎(chǔ)邏輯關(guān)系圖

首先我們用diagrams來繪制一個(gè)最簡(jiǎn)單的邏輯關(guān)系圖,從負(fù)載均衡到服務(wù)器節(jié)點(diǎn),再到具體的數(shù)據(jù)庫:

# example1.pyfrom diagrams import Diagramfrom diagrams.aws.compute import EC2from diagrams.aws.database import RDSfrom diagrams.aws.network import ELBwith Diagram('Web Service', show=False): ELB('lb') >> EC2('web') >> RDS('userdb') # 箭頭關(guān)系

在這個(gè)案例中我們使用了AWS提供的一些基礎(chǔ)架構(gòu)組件的標(biāo)簽,并且可以指定各個(gè)組件模塊的名稱。上述代碼可以直接執(zhí)行:python3 example1.py,然后會(huì)在當(dāng)前目錄下生成一個(gè)這樣的架構(gòu)圖:

python3使用diagrams繪制架構(gòu)圖的步驟

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

組件簇的定義

同樣來自于官方文檔中的示例,我們不僅可以定義單一的組件,還可以將概念中可以組成一個(gè)模塊的多個(gè)組件組成一個(gè)耦合簇,在架構(gòu)圖中展現(xiàn):

# example2.pyfrom diagrams import Diagram, Clusterfrom diagrams.aws.compute import EC2from diagrams.aws.database import RDSfrom diagrams.aws.network import ELBwith 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

運(yùn)行方式也是通過python3 example2.py,同樣的會(huì)在當(dāng)前目錄下生成一個(gè)這樣的圖像文件:

python3使用diagrams繪制架構(gòu)圖的步驟

我們可以看到剛才定義的幾個(gè)數(shù)據(jù)庫組件,被統(tǒng)一的收納到了一個(gè)數(shù)據(jù)庫的耦合簇中。

總結(jié)概要

本文中通過python庫diagrams展示了基礎(chǔ)的架構(gòu)圖繪制的方法,庫中提供了常用的AWS和k8S等場(chǎng)景下常用的組件標(biāo)簽,使得我們用python代碼也可以繪制精美清晰的架構(gòu)圖。這里組件之間的連接和耦合關(guān)系,也可以通過簡(jiǎn)單的符號(hào)進(jìn)行實(shí)現(xiàn),這也得益于python中所特有的魔法函數(shù)。

以上就是python3使用diagrams生成架構(gòu)圖的步驟的詳細(xì)內(nèi)容,更多關(guān)于python 用diagrams生成架構(gòu)圖的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 点击进入不卡毛片免费观看 | 亚洲成人综合网站 | 高清精品一区二区三区一区 | 国产性自拍 | 国产精品综合一区二区三区 | 美国毛片aaa在线播放 | 中日韩精品视频在线观看 | 中日韩一级片 | 亚洲精品成人久久 | 国产手机在线小视频免费观看 | 亚洲综合天堂 | 久久综合精品不卡一区二区 | 国产亚洲国产bv网站在线 | 色偷偷成人网免费视频男人的天堂 | 国产成人咱精品视频免费网站 | 日韩精品中文字幕在线 | 免费一级欧美大片在线观看 | 免费岛国小视频在线观看 | 成人亚洲欧美日韩中文字幕 | 亚洲三区视频 | 老太婆性杂交毛片 | 国产亚洲欧美日韩综合综合二区 | 国产杨幂福利在线视频观看 | 国产精品国产三级国产an | 免费观看的毛片手机视频 | 能直接看的一级欧美毛片 | 精品国产91久久久久 | 露脸国产野战最新在线视频 | 欧美色老头oldvideo | 成人一区二区免费中文字幕 | 亚洲欧美日韩国产制服另类 | 成人欧美精品大91在线 | 毛片在线免费播放 | 手机亚洲第一页 | 中文字幕有码视频 | 日本一级特黄大一片免 | 免费的特黄特色大片在线观看 | 久久久久久久久免费影院 | 午夜性爽视频男人的天堂在线 | 国产精品影视 | 欧美在线一级va免费观看 |