[pycon] dia

Viewer

  1. from diagrams import Diagram, Cluster, Edge
  2. from diagrams.onprem.database import PostgreSQL
  3. from diagrams.onprem.inmemory import Redis
  4. from diagrams.aws.compute import EC2
  5. from diagrams.aws.network import ELB
  6. from diagrams.programming.framework import Django
  7. from diagrams.onprem.queue import Celery
  8. from diagrams.onprem.network import Nginx
  9.  
  10. with Diagram("Dia") as diag:
  11.     database = PostgreSQL("Postgres.\nDjango model and data")
  12.     redis = Redis("Redis.\nCelery broker")
  13.     nginx = Nginx("Nginx.\nProxy and static content")
  14.     celery_workers = Celery('Celery workers')
  15.  
  16.     with Cluster("Django webservices"):
  17.         gunicorn = ELB("Gunicorn webserver")
  18.         django_workers = [Django('Worker_1'), Django('Worker_2'), Django('Worker_3')]
  19.         celery_tasks = Celery('Celery tasks')
  20.     gunicorn >> django_workers >> celery_tasks >> redis >> celery_workers >> database
  21.     django_workers >> database
  22.     supervisor = EC2('Supervisor')
  23.     flower = Celery('Flower.\nWorker control')
  24.     nginx >> gunicorn
  25.     nginx >> supervisor >> gunicorn
  26.     nginx >> flower
  27.     supervisor >> Edge(color="firebrick") >> celery_workers
  28.     supervisor >> Edge(color="firebrick") >> flower
  29.     supervisor >> Edge(color="firebrick") >> gunicorn
  30.     redis - flower
  31. diag

Editor

You can edit this paste and save as new:


File Description
  • dia
  • Paste Code
  • 22 Oct-2020
  • 1.26 Kb
You can Share it: