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

ArkitekturdiagramSyntax

Arkitekturdiagram

Arkitekturdiagram används för att visa relationer mellan tjänster och resurser som är vanliga i moln- eller CI/CD-distributioner. I ett arkitekturdiagram förbinds tjänster (noder) med linjer. Relaterade tjänster kan placeras i grupper för att bättre visa hur de organiseras.

Exempel

Kod
                            
Kopiera
Bädda in
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

Syntax

Arkitekturdiagrammets byggstenar är: grupper, tjänster, förbindelselinjer och anslutningspunkter.

För komponenter som stöds deklareras ikoner genom att omge ikonen med parenteser (), medan etiketter deklareras genom att omge texten med hakparenteser [].

För att börja ett arkitekturdiagram behöver du använda syntaxen architecture-beta och sedan lista grupper, tjänster, förbindelselinjer och anslutningspunkter. Även om dessa 3 byggstenar kan deklareras i valfri ordning, måste du se till att identifieraren redan har deklarerats av en annan komponent tidigare.

Grupp

Syntaxen för att deklarera en grupp är:

                            
Kopiera
Bädda in
group {group id}({icon name})[{title}] (in {parent id})?

Kombinerat:

                            
Kopiera
Bädda in
group public_api(cloud)[Public API]

Skapade en grupp som heter public_api, med ikonen cloud och etiketten Public API.

Dessutom kan grupper placeras i en annan grupp med den valfria in -syntaxen.

                            
Kopiera
Bädda in
group private_api(cloud)[Private API] in public_api

Tjänst

Syntaxen för att deklarera en tjänst är:

                            
Kopiera
Bädda in
service {service id}({icon name})[{title}] (in {parent id})?

Kombinerat:

                            
Kopiera
Bädda in
service database1(database)[My Database]

Skapa en tjänst som heter database1, med ikonen database och etiketten My Database.

Om tjänsten tillhör en grupp kan den placeras i den med den valfria in -syntaxen

                            
Kopiera
Bädda in
service database1(database)[My Database] in private_api

Förbindelselinje

Syntaxen för att deklarera en förbindelselinje är:

                            
Kopiera
Bädda in
{serviceId}{{group}}?:{T|B|L|R} {<}?--{>}? {T|B|L|R}:{serviceId}{{group}}?

Förbindelselinjens riktning

Vilken sida av tjänsten linjen utgår från kan anges genom att lägga till ett kolon : på den sida av anslutningspilen som hör till tjänsten och lägga till L|R|T|B.

Till exempel:

                            
Kopiera
Bädda in
db:R -- L:server

Skapa en förbindelselinje mellan tjänsterna db och server, som sträcker sig från db:s högra sida till server:s vänstra sida.

                            
Kopiera
Bädda in
db:T -- L:server

Skapa en 90-graders förbindelselinje mellan tjänsterna db och server, som utgår från db:s överkant och server:s vänstra sida.

Pil

Genom att lägga till < före riktningen till vänster eller > efter riktningen till höger kan pilar läggas till på vardera sidan av förbindelselinjen.

Till exempel:

                            
Kopiera
Bädda in
subnet:R --> L:gateway

Skapa en förbindelselinje med en pil som pekar mot tjänsten gateway.

Förbindelselinjer utanför grupper

För att en förbindelselinje ska övergå från en grupp till en annan grupp eller till en tjänst i en annan grupp kan du lägga till en {group} -modifierare efter serviceId.

Till exempel:

                            
Kopiera
Bädda in
service server[Server] in groupOne service subnet[Subnet] in groupTwo server{group}:B --> T:subnet{group}

Skapa en förbindelselinje som utgår från groupOne, ansluter till server i dess närhet och sedan går in i groupTwo och ansluter till subnet i dess närhet.

Observera att groupId inte kan användas för att ange förbindelselinjer, och {group} -modifieraren kan endast användas för tjänster inom en grupp.

Anslutningspunkt

En anslutningspunkt är en speciell typ av nod som kan fungera som en potentiell fyrvägsförgrening för förbindelselinjer.

Syntaxen för att deklarera en anslutningspunkt är:

                            
Kopiera
Bädda in
junction {junction id} (in {parent id})?
Kod
                            
Kopiera
Bädda in
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