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

ArkitekturdiagramSyntaks

Arkitekturdiagram

Arkitekturdiagrammer brukes til å vise forholdet mellom tjenester og ressurser som er vanlige i sky- eller CI/CD-utrullinger. I et arkitekturdiagram kobles tjenester (noder) sammen med linjer. Relaterte tjenester kan plasseres i grupper for bedre å illustrere hvordan de er organisert.

Eksempel

Kode
                            
Kopier
Bygg inn
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

Byggesteinene i arkitekturdiagrammet er: grupper, tjenester, lenker og koblingspunkter.

For komponenter som støttes, deklareres ikoner ved å omslutte ikonet med parenteser (), mens etiketter deklareres ved å omslutte teksten med hakeparenteser [].

For å starte et arkitekturdiagram bruker du architecture-beta -syntaksen, og deretter lister du opp grupper, tjenester, lenker og koblingspunkter. Selv om disse 3 byggesteinene kan deklareres i vilkårlig rekkefølge, må du sikre at identifikatoren allerede er deklarert av en annen komponent.

Gruppe

Syntaksen for å deklarere en gruppe er:

                            
Kopier
Bygg inn
group {group id}({icon name})[{title}] (in {parent id})?

Satt sammen:

                            
Kopier
Bygg inn
group public_api(cloud)[Public API]

opprettes en gruppe kalt public_api , med ikonet cloud og etiketten Public API .

I tillegg kan du bruke den valgfrie in -syntaksen til å plassere en gruppe i en annen gruppe.

                            
Kopier
Bygg inn
group private_api(cloud)[Private API] in public_api

Tjeneste

Syntaksen for å deklarere en tjeneste er:

                            
Kopier
Bygg inn
service {service id}({icon name})[{title}] (in {parent id})?

Satt sammen:

                            
Kopier
Bygg inn
service database1(database)[My Database]

opprettes en tjeneste kalt database1 , med ikonet database og etiketten My Database .

Hvis tjenesten tilhører en gruppe, kan du plassere den der med den valgfrie in -syntaksen

                            
Kopier
Bygg inn
service database1(database)[My Database] in private_api

Lenke

Syntaksen for å deklarere en lenke er:

                            
Kopier
Bygg inn
{serviceId}{{group}}?:{T|B|L|R} {<}?--{>}? {T|B|L|R}:{serviceId}{{group}}?

Lenkeretning

Hvilken side av tjenesten linjen kommer ut fra, kan angis ved å legge til et kolon : på den siden av tjenesten som koblingspilen er på, og legge til L|R|T|B .

For eksempel:

                            
Kopier
Bygg inn
db:R -- L:server

Opprett en lenke mellom tjenestene db og server , der denne lenken strekker seg fra høyre side av db til venstre side av server .

                            
Kopier
Bygg inn
db:T -- L:server

Opprett en 90-graders lenke mellom tjenestene db og server , der denne lenken går ut fra toppen av db og til venstre side av server .

Piler

Ved å legge til < før retningen på venstre side, eller > etter retningen på høyre side, kan du legge til piler på hver side av lenken.

For eksempel:

                            
Kopier
Bygg inn
subnet:R --> L:gateway

Opprett en lenke med en pil som peker mot tjenesten gateway .

Lenker utenfor grupper

For å la en lenke gå fra én gruppe til en annen gruppe eller til en tjeneste i en annen gruppe, kan du legge til {group} -modifikatoren etter serviceId .

For eksempel:

                            
Kopier
Bygg inn
service server[Server] in groupOne service subnet[Subnet] in groupTwo server{group}:B --> T:subnet{group}

Opprett en lenke som starter fra groupOne , kobles til i nærheten av server , og deretter går inn i groupTwo og kobles til i nærheten av subnet .

Det er viktig å merke seg at groupId ikke kan brukes til å angi lenker, og {group} -modifikatoren kan bare brukes for tjenester inne i en gruppe.

Koblingspunkt

Et koblingspunkt er en spesiell type node som kan fungere som et potensielt fireveis forgreiningspunkt for lenker.

Syntaksen for å deklarere et koblingspunkt er:

                            
Kopier
Bygg inn
junction {junction id} (in {parent id})?
Kode
                            
Kopier
Bygg inn
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