DOT 群集的運作機制
DOT 語言對子圖和群集的處理方式不同。要建立一個群集,您的子圖識別符必須以前綴cluster_。這是一個強制性的語法要求;如果您省略此前綴,佈局引擎會將該群組視為簡單的邏輯分組,而不會顯示視覺邊框或背景填充。
為什麼群集對架構至關重要
群集作為您文件的「範圍」。透過將元件嵌套於群集中,您向讀者傳達這些元件共享相同的環境、安全區域或生命週期。這對於以下情況至關重要:
- 多雲端可視化:根據 VPC、區域或可用性區域對節點進行分組。
- 微服務隔離:顯示哪些服務屬於哪個功能領域。
- 安全審計:視覺化展示哪些元件位於受保護的範圍內(例如「DMZ」群集)。
進階群集設定
群集支援 Graphviz 的全部屬性,讓您可以直接設定容器的樣式。您可以設定背景顏色、邊框樣式以及描述性標籤,以確保群集成為文件中的正式組成部分。
Graphviz
Edit Graphviz in VPasCode
digraph EnterpriseCloud {
// 全局圖形設定
compound=true; // 為使邊線跨越群集之間,此設定為必要
subgraph cluster_aws_vpc {
label = "AWS 生產 VPC";
style = filled;
color = lightgrey;
node [style=filled, color=white];
"App_Server_01" -> "Database_Primary";
}
subgraph cluster_on_prem {
label = "內部部署的舊有資料中心";
style = dashed;
color = blue;
"Legacy_Mainframe";
}
// 跨越群集邊界的邊線
"App_Server_01" -> "Legacy_Mainframe" [lhead=cluster_on_prem];
} 
戰略性群集最佳實務
- 啟用
compound=true: 使用群組時,始終在你的有向圖頂層設定compound=true。這會啟用lhead(邏輯頭)和ltail(邏輯尾)屬性,讓您能夠繪製從群組方框邊緣開始或結束的連接線,而非從內部開始或結束。 - 維持視覺層級:一致地使用顏色與樣式。例如,為「雲端」群組使用柔和的背景填充,為「傳統」或「暫時」基礎設施使用虛線邊框。這讓使用者能快速掃描圖表,立即理解架構概況。
- 不要過度嵌套: 雖然 Graphviz 支援群組的深度嵌套(群組內再包含群組),但應將嵌套層數限制在最多兩到三層。過度嵌套會導致複雜的連接線路由計算,使圖表難以理解。
- 標籤為必要項目: 永遠不要讓群組未命名。未標記的邊框框會造成歧義;有標籤的群組會成為其內部所有內容的明確上下文標記。
精通群組語法能將您的圖表從單純的連接節點列表轉化為豐富且具上下文意識的架構藍圖。透過明確定義邊界,您能為利害關係人提供理解複雜系統互動所需的清晰度。