Diagrammes de flux
Expression graphique
Cartes mentales
Expression structurée
Notes
Expression efficace

Diagramme d'architectureSyntaxe

Diagramme d'architecture

Le diagramme d'architecture sert à montrer les relations entre les services et les ressources courants dans le cloud ou les déploiements CI/CD. Dans un diagramme d'architecture, les services (nœuds) sont reliés par des lignes. Les services associés peuvent être placés dans des groupes afin de mieux illustrer leur organisation.

Exemple

Code
                            
Copier
Intégrer
architecture-beta group api(cloud)[API] service db(database)[Database] in api service disk1(disk)[Storage] in api service disk2(disk)[Storage] in api service server(server)[Server] in api db:L -- R:server disk1:T -- B:server disk2:T -- B:db

Syntaxe

Les blocs de construction du diagramme d'architecture sont : les groupes, les services, les liens et les points de connexion.

Pour les composants pris en charge, les icônes sont déclarées en les entourant de parenthèses () , et les étiquettes sont déclarées en entourant le texte de crochets [] .

Pour commencer un diagramme d'architecture, il faut utiliser la syntaxe architecture-beta, puis lister les groupes, services, liens et points de connexion. Bien que ces 3 blocs de construction puissent être déclarés dans n'importe quel ordre, vous devez vous assurer que l'identifiant a été préalablement déclaré par un autre composant.

Groupe

La syntaxe de déclaration d'un groupe est :

                            
Copier
Intégrer
group {group id}({icon name})[{title}] (in {parent id})?

Après combinaison :

                            
Copier
Intégrer
group public_api(cloud)[Public API]

Crée un groupe nommé public_api, utilise l'icône cloud et porte l'étiquette Public API.

De plus, vous pouvez placer un groupe dans un autre groupe à l'aide de la syntaxe facultative in.

                            
Copier
Intégrer
group private_api(cloud)[Private API] in public_api

Service

La syntaxe de déclaration d'un service est :

                            
Copier
Intégrer
service {service id}({icon name})[{title}] (in {parent id})?

Après combinaison :

                            
Copier
Intégrer
service database1(database)[My Database]

Crée un service nommé database1, utilise l'icône database et porte l'étiquette My Database.

Si ce service appartient à un groupe, vous pouvez le placer dans ce groupe à l'aide de la syntaxe facultative in

                            
Copier
Intégrer
service database1(database)[My Database] in private_api

Lien

La syntaxe de déclaration d'un lien est :

                            
Copier
Intégrer
{serviceId}{{group}}?:{T|B|L|R} {<}?--{>}? {T|B|L|R}:{serviceId}{{group}}?

Direction du lien

Le côté du service d'où part le lien peut être spécifié en ajoutant un deux-points : du côté du service où se trouve la flèche de connexion, puis L|R|T|B.

Par exemple :

                            
Copier
Intégrer
db:R -- L:server

Crée un lien entre les services db et server, ce lien partant du côté droit de db vers le côté gauche de server.

                            
Copier
Intégrer
db:T -- L:server

Crée un lien à 90 degrés entre les services db et server, ce lien partant du haut de db et du côté gauche de server.

Flèche

En ajoutant < avant la direction de gauche, ou > après la direction de droite, vous pouvez ajouter une flèche de chaque côté du lien.

Par exemple :

                            
Copier
Intégrer
subnet:R --> L:gateway

Crée un lien dont la flèche pointe vers le service gateway.

Liens hors d'un groupe

Pour qu'un lien passe d'un groupe à un autre groupe ou à un service d'un autre groupe, vous pouvez ajouter le modificateur {group} après serviceId.

Par exemple :

                            
Copier
Intégrer
service server[Server] in groupOne service subnet[Subnet] in groupTwo server{group}:B --> T:subnet{group}

Crée un lien partant de groupOne, se connectant à proximité de server, puis entrant dans groupTwo et se connectant à proximité de subnet.

Il convient de noter que groupId ne peut pas servir à spécifier un lien, et que le modificateur {group} ne peut s'appliquer qu'à un service à l'intérieur d'un groupe.

Point de connexion

Le point de connexion est un type particulier de nœud qui peut servir de point de bifurcation potentiel dans les quatre directions d'un lien.

La syntaxe de déclaration d'un point de connexion est :

                            
Copier
Intégrer
junction {junction id} (in {parent id})?
Code
                            
Copier
Intégrer
architecture-beta service left_disk(disk)[Disk] service top_disk(disk)[Disk] service bottom_disk(disk)[Disk] service top_gateway(internet)[Gateway] service bottom_gateway(internet)[Gateway] junction junctionCenter junction junctionRight left_disk:R -- L:junctionCenter top_disk:B -- T:junctionCenter bottom_disk:T -- B:junctionCenter junctionCenter:R -- L:junctionRight top_gateway:B -- T:junctionRight bottom_gateway:T -- B:junctionRight