Zasady działania klastrów DOT
Język DOT traktuje podgrafy i klastry inaczej. Aby stworzyćKlaster, identyfikator Twojego podgrafumusizaczynać się od prefiksucluster_. Jest to wymagane przez składnię; jeśli pominiesz ten prefiks, silnik układu traktuje grupę jako prostą grupę logiczną bez wizualnej ramki ani wypełnienia tła.
Dlaczego klastry są ważne dla architektury
Klastry pełnią rolę „zakresu” Twojej dokumentacji. Umieszczając składniki wewnątrz klastra, przekazujesz czytelnikowi, że te elementy dzielą wspólny środowisko, strefę bezpieczeństwa lub cykl życia. Jest to istotne dla:
- Wizualizacja wielochmury:Grupowanie węzłów według VPC, regionu lub strefy dostępności.
- Izolacja mikroserwisów:Pokazywanie, do którego domeny funkcjonalnej należy każda usługa.
- Audyty bezpieczeństwa:Wizualne pokazanie, które składniki znajdują się w chronionym obszarze (np. klaster „DMZ”).
Zaawansowana konfiguracja klastrów
Klastry obsługują pełen zestaw atrybutów Graphviz, umożliwiając stylizację samego kontenera. Możesz ustawić kolor tła, styl obramowania oraz opisowy etykietę, aby zapewnić, że klaster pełni rolę oficjalnej części dokumentacji.
digraph EnterpriseCloud {
// Ustawienia globalne grafu
compound=true; // Konieczne, aby krawędzie przekraczały granice klastrów
subgraph cluster_aws_vpc {
label = "AWS Produkcyjny VPC";
style = filled;
color = lightgrey;
node [style=filled, color=white];
"App_Server_01" -> "Database_Primary";
}
subgraph cluster_on_prem {
label = "Stare centrum danych lokalnych";
style = dashed;
color = blue;
"Legacy_Mainframe";
}
// Krawędź przekraczająca granice klastrów
"App_Server_01" -> "Legacy_Mainframe" [lhead=cluster_on_prem];
} 
Strategiczne najlepsze praktyki dotyczące klastrów
- Włącz
compound=true: Przy pracy z klastrami zawsze ustawcompound=truena najwyższym poziomie twojego digrafu. Dzięki temu włączasz atrybutylhead(logiczny początek) iltail(logiczny koniec), które pozwalają rysować krawędzie zaczynające się lub kończące dokładnie na krawędzi ramki klastra, a nie w jej wnętrzu. - Utrzymuj hierarchię wizualną: Używaj kolorów i stylów spójnie. Na przykład użyj delikatnego wypełnienia tła dla klastrów „Chmura” oraz kreskowanej obramówki dla infrastruktury „Przestarzałej” lub „Tymczasowej”. Dzięki temu użytkownicy mogą szybko przeglądać diagram i od razu zrozumieć architekturę systemu.
- Nie nadmiernie zagnieżdżaj: Choć Graphviz obsługuje głębokie zagnieżdżanie klastrów (klastry w klastrach), staraj się ograniczyć zagnieżdżenie do maksymalnie dwóch lub trzech poziomów. Nadmierna liczba poziomów zagnieżdżeń prowadzi do skomplikowanych obliczeń routingu krawędzi, co może utrudnić zrozumienie diagramu.
- Etykiety są obowiązkowe: Nie pozostawiaj klastra bez nazwy. Pusty prostokąt ograniczający jest niejasny; oznaczony klaster działa jako jednoznaczny wskaźnik kontekstu dla wszystkiego znajdującego się w jego wnętrzu.
Opanowanie składni klastrów przekształca Twoje diagramy z prostych list połączonych węzłów w bogate, świadome kontekstu projekty architektoniczne. Definiując granice jasno, zapewnicasz stakeholderom jasność potrzebną do zrozumienia złożonych interakcji systemu.