Le fonctionnement des clusters DOT
Le langage DOT traite les sous-graphes et les clusters différemment. Pour créer unCluster, votre identifiant de sous-graphedoitcommencer par le préfixecluster_. Il s’agit d’une exigence syntaxique obligatoire ; si vous omettez ce préfixe, le moteur de disposition traitera le groupe comme un regroupement logique simple, sans bordure visuelle ni remplissage de fond.
Pourquoi les clusters sont-ils importants pour l’architecture
Les clusters servent de « portée » à votre documentation. En imbriquant des composants dans un cluster, vous communiquez à votre lecteur que ces éléments partagent un environnement commun, une zone de sécurité ou un cycle de vie. Cela est essentiel pour :
- Visualisation multi-cloud : Regrouper les nœuds par VPC, région ou zone de disponibilité.
- Isolation des microservices : Montrer quels services appartiennent à quel domaine fonctionnel.
- Audits de sécurité : Démontrer visuellement quels composants se trouvent à l’intérieur d’un périmètre protégé (par exemple, un cluster « DMZ »).
Configuration avancée des clusters
Les clusters prennent en charge l’ensemble des attributs Graphviz, ce qui vous permet de styliser le conteneur lui-même. Vous pouvez définir une couleur de fond, un style de bordure et une étiquette descriptive pour garantir que le cluster agit comme une partie formelle de la documentation.
digraph EnterpriseCloud {
// Paramètres globaux du graphe
compound=true; // Nécessaire pour que les arêtes traversent les limites des clusters
subgraph cluster_aws_vpc {
label = "VPC de production AWS";
style = filled;
color = lightgrey;
node [style=filled, color=white];
"App_Server_01" -> "Database_Primary";
}
subgraph cluster_on_prem {
label = "Centre de données hérité local";
style = dashed;
color = blue;
"Legacy_Mainframe";
}
// Arête traversant les limites des clusters
"App_Server_01" -> "Legacy_Mainframe" [lhead=cluster_on_prem];
} 
Meilleures pratiques stratégiques pour les clusters
- Activer
compound=true: Lorsque vous travaillez avec des clusters, définissez toujourscompound=trueau niveau supérieur de votre digraph. Cela active les attributslhead(tête logique) etltail(queue logique) qui vous permettent de dessiner des arêtes commençant ou se terminant exactement sur le bord d’une boîte de cluster, plutôt que à l’intérieur. - Maintenez une hiérarchie visuelle : Utilisez la couleur et le style de manière cohérente. Par exemple, utilisez un remplissage de fond doux pour les clusters « Cloud » et une bordure pointillée pour les infrastructures « Legacy » ou « Temporaire ». Cela permet aux utilisateurs de parcourir le diagramme et de comprendre immédiatement l’architecture.
- Évitez le sur-nesting : Bien que Graphviz supporte un nesting profond des clusters (des clusters à l’intérieur d’autres clusters), visez à limiter votre nesting à deux ou trois niveaux maximum. Un nesting excessif entraîne des calculs complexes de routage des arêtes, ce qui peut rendre le diagramme difficile à interpréter.
- Les étiquettes sont obligatoires : Ne laissez jamais un cluster sans nom. Une boîte englobante non étiquetée est ambiguë ; un cluster étiqueté agit comme un repère contextuel définitif pour tout ce qu’il contient.
Maîtriser la syntaxe des clusters transforme vos diagrammes de simples listes de nœuds connectés en plans architecturaux riches et conscients du contexte. En définissant clairement les limites, vous offrez aux parties prenantes la clarté nécessaire pour comprendre les interactions complexes au sein du système.