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

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

超过十年行业经验,技术领先,服务至上的经营模式,全靠网络和口碑获得客户,为自己降低成本,也就是为客户降低成本。到目前业务范围包括了:成都做网站、成都网站建设,成都网站推广,成都网站优化,整体网络托管,微信小程序定制开发,微信开发,APP应用开发,同时也可以让客户的网站和网络营销和我们一样获得订单和生意!

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

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

目前,diagrams已经在Github上标星14.5K,累计分支 795 个(Github地址:https://github.com/mingrammer/diagrams)

安装要求

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

 
 
 
 
  1. # using pip (pip3) 
  2. $ pip install diagrams 
  3.  
  4. # using pipenv 
  5. $ pipenv install diagrams 
  6.  
  7. # using poetry 
  8. $ poetry add diagrams 

快速开始

 
 
 
 
  1. # diagram.py 
  2. from diagrams import Diagram 
  3. from diagrams.aws.compute import EC2 
  4. from diagrams.aws.database import RDS 
  5. from diagrams.aws.network import ELB 
  6.  
  7. with Diagram("Web Service", show=False): 
  8.     ELB("lb") >> EC2("web") >> RDS("userdb") 

此代码生成下图:

 
 
 
 
  1. $ python diagram.py 

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

AWS 上的分组工作人员

 
 
 
 
  1. from diagrams import Diagram 
  2. from diagrams.aws.compute import EC2 
  3. from diagrams.aws.database import RDS 
  4. from diagrams.aws.network import ELB 
  5.  
  6. with Diagram("Grouped Workers", show=False, direction="TB"): 
  7.     ELB("lb") >> [EC2("worker1"), 
  8.                   EC2("worker2"), 
  9.                   EC2("worker3"), 
  10.                   EC2("worker4"), 
  11.                   EC2("worker5")] >> RDS("events") 

集群网络服务

 
 
 
 
  1. from diagrams import Cluster, Diagram 
  2. from diagrams.aws.compute import ECS 
  3. from diagrams.aws.database import ElastiCache, RDS 
  4. from diagrams.aws.network import ELB 
  5. from diagrams.aws.network import Route53 
  6.  
  7. with Diagram("Clustered Web Services", show=False): 
  8.     dns = Route53("dns") 
  9.     lb = ELB("lb") 
  10.  
  11.     with Cluster("Services"): 
  12.         svc_group = [ECS("web1"), 
  13.                      ECS("web2"), 
  14.                      ECS("web3")] 
  15.  
  16.     with Cluster("DB Cluster"): 
  17.         db_main = RDS("userdb") 
  18.         db_main - [RDS("userdb ro")] 
  19.  
  20.     memcached = ElastiCache("memcached") 
  21.  
  22.     dns >> lb >> svc_group 
  23.     svc_group >> db_main 
  24.     svc_group >> memcached 

本文标题:高端大气的云系统架构图,几行代码就能搞定
当前URL:http://www.shufengxianlan.com/qtweb/news25/142275.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联