Register
Process Type
Graphical expression
Mind Type
Structured expression
Note Type
Efficient expression

ArkitekturdiagramSyntaks

Arkitekturdiagram

Arkitekturdiagrammer bruges til at vise relationerne mellem tjenester og ressourcer, som er almindelige i cloud- eller CI/CD-udrulninger. I arkitekturdiagrammer forbindes tjenester (knuder) med linjer. Relaterede tjenester kan placeres i grupper for bedre at illustrere, hvordan de er organiseret.

Eksempel

Kode
                            
Kopiér
Integrer
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

Syntaks

Byggeklodserne i et arkitekturdiagram er: grupper, tjenester, forbindelseslinjer og forbindelsespunkter.

For understøttede komponenter deklareres ikonet med runde parenteser () omkring ikonet, mens etiketten deklareres med kantede parenteser [] omkring teksten.

For at begynde et arkitekturdiagram skal du bruge architecture-beta-syntaksen og derefter opliste grupper, tjenester, forbindelseslinjer og forbindelsespunkter. Selvom disse 3 byggeklodser kan deklareres i vilkårlig rækkefølge, skal du sikre, at identifikatoren allerede er deklareret af en anden komponent.

Gruppe

Syntaksen til at deklarere en gruppe er:

                            
Kopiér
Integrer
group {group id}({icon name})[{title}] (in {parent id})?

Kombineret:

                            
Kopiér
Integrer
group public_api(cloud)[Public API]

Der oprettes en gruppe ved navn public_api med ikonet cloud og etiketten Public API.

Derudover kan en gruppe placeres i en anden gruppe med den valgfrie in-syntaks.

                            
Kopiér
Integrer
group private_api(cloud)[Private API] in public_api

Tjeneste

Syntaksen til at deklarere en tjeneste er:

                            
Kopiér
Integrer
service {service id}({icon name})[{title}] (in {parent id})?

Kombineret:

                            
Kopiér
Integrer
service database1(database)[My Database]

Der oprettes en tjeneste ved navn database1 med ikonet database og etiketten My Database.

Hvis tjenesten tilhører en gruppe, kan den placeres i den med den valgfrie in-syntaks

                            
Kopiér
Integrer
service database1(database)[My Database] in private_api

Forbindelseslinje

Syntaksen til at deklarere en forbindelseslinje er:

                            
Kopiér
Integrer
{serviceId}{{group}}?:{T|B|L|R} {<}?--{>}? {T|B|L|R}:{serviceId}{{group}}?

Forbindelseslinjens retning

Hvilken side af tjenesten forbindelseslinjen udgår fra, kan angives ved at tilføje et kolon : på den side af forbindelsespilen, hvor tjenesten er, og tilføje L|R|T|B.

For eksempel:

                            
Kopiér
Integrer
db:R -- L:server

Der oprettes en forbindelseslinje mellem tjenesterne db og server, og denne linje strækker sig fra højre side af db til venstre side af server.

                            
Kopiér
Integrer
db:T -- L:server

Der oprettes en 90-graders forbindelseslinje mellem tjenesterne db og server, og denne linje udgår fra toppen af db og venstre side af server.

Pile

Ved at tilføje < før retningen til venstre eller > efter retningen til højre kan der tilføjes pile på hver side af forbindelseslinjen.

For eksempel:

                            
Kopiér
Integrer
subnet:R --> L:gateway

Der oprettes en forbindelseslinje med en pil, der peger mod tjenesten gateway.

Forbindelser uden for en gruppe

For at lade en forbindelseslinje gå fra én gruppe til en anden gruppe eller til en tjeneste i en anden gruppe kan du tilføje {group}-modifikatoren efter serviceId.

For eksempel:

                            
Kopiér
Integrer
service server[Server] in groupOne service subnet[Subnet] in groupTwo server{group}:B --> T:subnet{group}

Der oprettes en forbindelseslinje, der starter i groupOne, forbindes til positionen nær server og derefter går ind i groupTwo og forbindes til positionen nær subnet.

Bemærk, at groupId ikke kan bruges til at angive forbindelseslinjer, og at {group}-modifikatoren kun kan bruges til tjenester i en gruppe.

Forbindelsespunkt

Et forbindelsespunkt er en særlig type knude, der kan fungere som et potentielt firevejsforgreningspunkt for forbindelseslinjer.

Syntaksen til at deklarere et forbindelsespunkt er:

                            
Kopiér
Integrer
junction {junction id} (in {parent id})?
Kode
                            
Kopiér
Integrer
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