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.
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.
Jika anda menggunakan macOS, cara paling mudah untuk memasang Graphviz ialah menggunakan Homebrew:
brew install graphviz
Jika anda menggunakan Windows, ikut langkah di bawah
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
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.
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
Kami menggunakan Kluster() untuk mengumpulkan pelayan web dan pangkalan data, menjadikan rajah lebih mudah difahami dengan menggambarkan peringkat secara berasingan.
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.
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.
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")
Ini membolehkan lebih banyak fleksibiliti dalam mereka bentuk seni bina yang sesuai dengan keperluan organisasi anda.
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
Walaupun Diagram ialah alat yang berkuasa, terdapat beberapa cabaran:
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
Anda boleh mendapatkan kod sumber lengkap untuk contoh dalam blog ini di GitHub saya:
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!