加入收藏 | 设为首页 | 会员中心 | 我要投稿 成都站长网 (https://www.028zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 系统 > 正文

几行代码就搞定高端大气的云系统架构图

发布时间:2022-09-30 15:30:33 所属栏目:系统 来源:网络
导读: diagrams是一个不需要使用任何的设计工具,只需要几行代码就能做出一张惊艳的云系统架构图的工具云系统架构,它的诞生就是为了在没有任何设计工具的情况下对新的系统架构设计进行原型设计,

diagrams是一个不需要使用任何的设计工具,只需要几行代码就能做出一张惊艳的云系统架构图的工具云系统架构,它的诞生就是为了在没有任何设计工具的情况下对新的系统架构设计进行原型设计,你可以用它来描述或者可视化现有的系统架构,diagrams目前支持AWS, Azure, GCP, Kubernetes, Alibaba Cloud, Oracle Cloud 等。同时,它还支持内置的架构图组件、SaaS 和主流的编程框架和语言。Diagram as Code还允许用户跟踪任何版本控制系统中的架构图更改。

它将保存web_service.png在你的工作目录中。

想知道如何用Python代码绘制出云系统架构图,那么,今天猿妹要和大家分享的这个开源项目你一定喜欢——diagrams。

想知道如何用Python代码绘制出云系统架构图,那么,今天猿妹要和大家分享的这个开源项目你一定喜欢——diagrams。

云架构和传统架构区别_云系统架构_业务架构 系统架构 技术架构

除此之外,如果你熟悉Go,你可以使用go-diagrams。(项目地址:)

云架构和传统架构区别_业务架构 系统架构 技术架构_云系统架构

目前,diagrams已经在Github上标星14.5K,累计分支 795 个)Github地址:)

安装要求

diagrams支持Python 3.6及以上版本,它是使用Graphviz来渲染图表,因此您需要安装 Graphviz才能使用,首先确保这两项符合要求之后,才可以安装diagrams。macOS用户可以通过以下方式下载Graphviz:

# using pip (pip3)

$ pip install diagrams

# using pipenv

$ pipenv install diagrams

# using poetry

$ poetry add diagrams

快速开始

# diagram.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")

此代码生成下图:

$ python diagram.py

业务架构 系统架构 技术架构_云架构和传统架构区别_云系统架构

AWS 上的分组工作人员

from diagrams import Diagram

from diagrams.aws.compute import EC2

from diagrams.aws.database import RDS

from diagrams.aws.network import ELB

with Diagram("Grouped Workers", show=False, direction="TB"):

ELB("lb") >> [EC2("worker1"),

EC2("worker2"),

EC2("worker3"),

EC2("worker4"),

EC2("worker5")] >> RDS("events")

云系统架构_业务架构 系统架构 技术架构_云架构和传统架构区别

集群网络服务

from diagrams import Cluster, Diagram

from diagrams.aws.compute import ECS

from diagrams.aws.database import ElastiCache, RDS

from diagrams.aws.network import ELB

from diagrams.aws.network import Route53

with Diagram("Clustered Web Services", show=False):

dns = Route53("dns")

lb = ELB("lb")

with Cluster("Services"):

svc_group = [ECS("web1"),

ECS("web2"),

ECS("web3")]

with Cluster("DB Cluster"):

db_main = RDS("userdb")

db_main - [RDS("userdb ro")]

memcached = ElastiCache("memcached")

dns >> lb >> svc_group

svc_group >> db_main

svc_group >> memcached

云架构和传统架构区别_业务架构 系统架构 技术架构_云系统架构

(编辑:成都站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!