cari
Rumahpembangunan bahagian belakangTutorial PythonKod Gambarajah Anda: Automatikkan Seni Bina dengan Perpustakaan Gambar rajah Python

pengenalan

Dalam bidang infrastruktur moden, di mana perkhidmatan awan dan perkhidmatan mikro berkuasa, mengurus dan menggambarkan seni bina yang kompleks adalah lebih kritikal berbanding sebelum ini.

Sudahlah hari untuk mencipta dan mengemas kini gambar rajah seni bina secara manual. Dengan perpustakaan Python Diagrams, anda boleh menjana gambar rajah dinamik dipacu kod yang berkembang bersama infrastruktur anda. Hanya beberapa baris Python yang diperlukan untuk menggambarkan seni bina awan, topologi rangkaian atau interaksi perkhidmatan mikro. Gambar rajah memastikan dokumentasi sistem anda kekal tepat dan terkini, sama ada anda menguruskan penggunaan berbilang awan, kelompok Kubernetes atau penyelesaian di premis. Ini adalah cara yang mudah untuk memastikan seni bina anda sentiasa selari dengan pangkalan kod anda.

Dalam siaran ini, kami akan meneroka keupayaan perpustakaan Diagram, mempamerkan cara mencipta Reka Bentuk Tahap Tinggi (HLD) untuk infrastruktur awan dan mengautomasikan proses mencipta gambar rajah seni bina.

Mengapa Menggunakan Perpustakaan Python Diagram?

  • Automasi: Jana gambar rajah seni bina terus daripada kod anda, memastikan ia kekal terkini dengan sistem yang sedang berkembang.
  • Kawalan Programatik: Gambar rajah membolehkan anda menentukan infrastruktur anda secara visual dengan Python, menawarkan kawalan yang baik ke atas cara elemen diwakili.
  • Menyokong Pelbagai Pembekal Awan: Perpustakaan menyokong AWS, Azure, GCP dan sistem di premis, menjadikannya alat serba boleh untuk menggambarkan seni bina berbilang awan dan hibrid.
  • Berskala: Daripada projek kecil kepada sistem teragih yang besar, Rajah boleh mengendalikan pelbagai tahap kerumitan.

Pembekal yang Disokong

  • OnPrem
  • AWS
  • Azure
  • GCP
  • IBM
  • Kubernetes (K8s)
  • AlibabaCloud
  • OCI (Infrastruktur Awan Oracle)
  • OpenStack
  • Firebase
  • DigitalOcean
  • Anjal
  • Luar skala
  • Generik
  • Pengaturcaraan
  • SaaS
  • Model C4
  • Tersuai

Bermula dengan Gambar rajah

Untuk bermula dengan Diagram, anda perlu memasang pustaka dan menyediakan persekitaran anda.

Langkah 0: Prasyarat

Untuk membuat gambar rajah menggunakan perpustakaan Python Diagrams pada MacOS/Windows, anda perlu memasang Graphviz terlebih dahulu. Graphviz ialah alat yang digunakan oleh perpustakaan Diagram untuk menjana perwakilan visual infrastruktur anda.

  • Mac

Jika anda menggunakan macOS, cara paling mudah untuk memasang Graphviz ialah menggunakan Homebrew:

brew install graphviz
  • Tingkap

Jika anda menggunakan Windows, ikut langkah di bawah

  1. Muat turun pemasang Graphviz daripada laman web rasmi Halaman Muat Turun Graphviz.
  2. Jalankan pemasang dan ikuti langkah pemasangan.
  3. Semasa pemasangan, pastikan anda menyemak pilihan yang menambahkan Graphviz pada PATH sistem anda.

Langkah 1: Pemasangan

brew install graphviz

Langkah 2: Gambarajah Pertama Anda

Mari buat gambar rajah ringkas yang mewakili seni bina web asas pada AWS.

pip install diagrams

Code Your Diagrams: Automate Architecture with Python

Dengan kod minimum ini, anda boleh menggambarkan cara trafik mengalir dari Pengimbang Beban ke Pelayan Web, dan kemudian ke Pangkalan Data. Itulah kuasa pustaka Diagram: ia pantas, intuitif dan sangat boleh disesuaikan. Dan ini hanyalah permulaan—terdapat banyak lagi ciri dan komponen termaju yang boleh anda manfaatkan, yang akan kami terokai dalam bahagian berikut.

Ciri Lanjutan

Komponen Pengelompokan (Pengkelompokan)

Anda boleh mengumpulkan komponen ke dalam kelompok untuk mewakili peringkat atau kumpulan logik yang berbeza dalam seni bina anda.

from diagrams import Diagram
from diagrams.aws.compute import EC2
from diagrams.aws.network import ELB
from diagrams.aws.database import RDS

with Diagram("Simple AWS Architecture", show=False):
    lb = ELB("Load Balancer")
    web = EC2("Web Server")
    db = RDS("Database")

    lb >> web >> db

Code Your Diagrams: Automate Architecture with Python

Kami menggunakan Kluster() untuk mengumpulkan pelayan web dan pangkalan data, menjadikan rajah lebih mudah difahami dengan menggambarkan peringkat secara berasingan.

Menyesuaikan Komponen

Rajah membolehkan anda menambah label tersuai, warna dan juga imej tersuai untuk mewakili komponen tertentu. Contohnya, jika anda ingin mewakili perkhidmatan tersuai, anda boleh memasukkan imej luaran daripada setempat atau malah dari jauh.

  • Menggunakan Ikon Tersuai daripada Sumber Setempat

Jika anda mempunyai ikon yang disimpan secara setempat (contohnya, fail custom_icon.png), anda boleh menggunakannya untuk mewakili komponen tersuai anda dalam rajah. Kod di bawah menunjukkan cara menambah ikon tersuai daripada sistem fail setempat anda.

from diagrams import Cluster, Diagram
from diagrams.aws.compute import EC2
from diagrams.aws.network import ELB
from diagrams.aws.database import RDS

with Diagram("AWS Architecture with Clustering", show=False):
    with Cluster("Web Tier"):
        lb = ELB("Load Balancer")
        web_servers = [EC2("Web 1"), EC2("Web 2")]

    with Cluster("Database Tier"):
        db_primary = RDS("Primary DB")
        db_replica = RDS("Replica DB")

    lb >> web_servers >> db_primary
    db_primary >> db_replica

./custom_icon.png ialah laluan ke fail imej setempat anda.

Code Your Diagrams: Automate Architecture with Python

  • Menggunakan Ikon Tersuai daripada Sumber Jauh

Begitu juga, anda boleh menggunakan imej daripada sumber jauh. Begini cara anda boleh memuat turun imej daripada URL dan menggunakannya dalam rajah anda.

Anda juga boleh menggunakan ikon tersuai dari URL jauh dengan memberikan laluan jauh ke fail.

from diagrams.custom import Custom
with Diagram("Custom Service Architecture", show=False):
    custom_service = Custom("My Custom Service", "./custom_icon.png")

Code Your Diagrams: Automate Architecture with Python

Ini membolehkan lebih banyak fleksibiliti dalam mereka bentuk seni bina yang sesuai dengan keperluan organisasi anda.

Menggabungkan Seni Bina Berbilang Awan dan Di Premis

Kami juga boleh menggunakan gabungan sistem di premis dan infrastruktur awan, Diagram memudahkan untuk menggabungkan elemen ini ke dalam satu paparan. Anda boleh menggambarkan seni bina hibrid dengan lancar.

brew install graphviz

Code Your Diagrams: Automate Architecture with Python

Cabaran dan Had

Walaupun Diagram ialah alat yang berkuasa, terdapat beberapa cabaran:

  • Prestasi: Menjana gambar rajah yang sangat besar dengan beratus-ratus komponen boleh menjadi perlahan.
  • Had Penyesuaian: Walaupun Diagram menawarkan pelbagai jenis komponen yang dipratentukan, menambah elemen yang sangat disesuaikan mungkin memerlukan kerja tambahan.
  • Output Statik: Gambar rajah menjana imej statik. Jika anda memerlukan rajah interaktif atau masa nyata, anda mungkin perlu menyepadukannya dengan alatan lain.

Kesimpulan

Pustaka Python Diagrams ialah alat yang hebat untuk mengautomasikan penciptaan gambar rajah infrastruktur. Dengan menyepadukannya ke dalam aliran kerja anda, anda boleh menjana gambar rajah seni bina secara dinamik apabila infrastruktur anda berubah. Sama ada anda mendokumenkan infrastruktur awan anda atau menggambarkan seni bina perkhidmatan mikro yang kompleks, Diagrams menawarkan cara yang berkuasa dan terprogram untuk menggambarkan sistem anda

Code Your Diagrams: Automate Architecture with Python

Repositori GitHub

Anda boleh mendapatkan kod sumber lengkap untuk contoh dalam blog ini di GitHub saya:

  • Repositori Kod Diagram Saya

Rujukan

  • Rajah: https://diagrams.mingrammer.com/docs/getting-started/installation

Penafian:

Ini adalah blog peribadi. Pandangan dan pendapat yang dinyatakan di sini hanyalah pendapat pengarang dan tidak mewakili mana-mana organisasi atau mana-mana individu yang mungkin dikaitkan dengan pengarang, secara profesional atau peribadi.

Atas ialah kandungan terperinci Kod Gambarajah Anda: Automatikkan Seni Bina dengan Perpustakaan Gambar rajah Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Rancangan Python 2 jam: Pendekatan yang realistikRancangan Python 2 jam: Pendekatan yang realistikApr 11, 2025 am 12:04 AM

Anda boleh mempelajari konsep pengaturcaraan asas dan kemahiran Python dalam masa 2 jam. 1. Belajar Pembolehubah dan Jenis Data, 2.

Python: meneroka aplikasi utamanyaPython: meneroka aplikasi utamanyaApr 10, 2025 am 09:41 AM

Python digunakan secara meluas dalam bidang pembangunan web, sains data, pembelajaran mesin, automasi dan skrip. 1) Dalam pembangunan web, kerangka Django dan Flask memudahkan proses pembangunan. 2) Dalam bidang sains data dan pembelajaran mesin, numpy, panda, scikit-learn dan perpustakaan tensorflow memberikan sokongan yang kuat. 3) Dari segi automasi dan skrip, Python sesuai untuk tugas -tugas seperti ujian automatik dan pengurusan sistem.

Berapa banyak python yang boleh anda pelajari dalam 2 jam?Berapa banyak python yang boleh anda pelajari dalam 2 jam?Apr 09, 2025 pm 04:33 PM

Anda boleh mempelajari asas -asas Python dalam masa dua jam. 1. Belajar pembolehubah dan jenis data, 2. Struktur kawalan induk seperti jika pernyataan dan gelung, 3 memahami definisi dan penggunaan fungsi. Ini akan membantu anda mula menulis program python mudah.

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam Kaedah Projek dan Masalah Dikemukakan Dalam masa 10 Jam?Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam Kaedah Projek dan Masalah Dikemukakan Dalam masa 10 Jam?Apr 02, 2025 am 07:18 AM

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam masa 10 jam? Sekiranya anda hanya mempunyai 10 jam untuk mengajar pemula komputer beberapa pengetahuan pengaturcaraan, apa yang akan anda pilih untuk mengajar ...

Bagaimana untuk mengelakkan dikesan oleh penyemak imbas apabila menggunakan fiddler di mana-mana untuk membaca lelaki-dalam-tengah?Bagaimana untuk mengelakkan dikesan oleh penyemak imbas apabila menggunakan fiddler di mana-mana untuk membaca lelaki-dalam-tengah?Apr 02, 2025 am 07:15 AM

Cara mengelakkan dikesan semasa menggunakan fiddlerevery di mana untuk bacaan lelaki-dalam-pertengahan apabila anda menggunakan fiddlerevery di mana ...

Apa yang perlu saya lakukan jika modul '__builtin__' tidak dijumpai apabila memuatkan fail acar di Python 3.6?Apa yang perlu saya lakukan jika modul '__builtin__' tidak dijumpai apabila memuatkan fail acar di Python 3.6?Apr 02, 2025 am 07:12 AM

Memuatkan Fail Pickle di Python 3.6 Kesalahan Laporan Alam Sekitar: ModulenotFoundError: Nomodulenamed ...

Bagaimana untuk meningkatkan ketepatan segmentasi kata Jieba dalam analisis komen tempat yang indah?Bagaimana untuk meningkatkan ketepatan segmentasi kata Jieba dalam analisis komen tempat yang indah?Apr 02, 2025 am 07:09 AM

Bagaimana untuk menyelesaikan masalah segmentasi kata Jieba dalam analisis komen tempat yang indah? Semasa kami mengadakan komen dan analisis tempat yang indah, kami sering menggunakan alat segmentasi perkataan jieba untuk memproses teks ...

Bagaimana cara menggunakan ungkapan biasa untuk memadankan tag tertutup pertama dan berhenti?Bagaimana cara menggunakan ungkapan biasa untuk memadankan tag tertutup pertama dan berhenti?Apr 02, 2025 am 07:06 AM

Bagaimana cara menggunakan ungkapan biasa untuk memadankan tag tertutup pertama dan berhenti? Semasa berurusan dengan HTML atau bahasa markup lain, ungkapan biasa sering diperlukan untuk ...

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma