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

Arhitekturni diagramSintaksa

Arhitekturni diagram

Arhitekturni diagram se uporablja za prikaz razmerij med storitvami in viri, ki so pogosti v oblaku ali pri uvajanju CI/CD. V arhitekturnem diagramu so storitve (vozlišča) povezane s črtami. Povezane storitve lahko postavite v skupine, da bolje prikažete njihovo organizacijo.

Primer

Koda
                            
Kopiraj
Vdelava
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

Sintaksa

Gradniki arhitekturnega diagrama so: skupine, storitve, povezave in točke povezave.

Pri podprtih komponentah so ikone deklarirane tako, da so ovite v oklepaje (), oznake pa tako, da je besedilo ovito v oglate oklepaje [].

Za začetek arhitekturnega diagrama morate uporabiti sintakso architecture-beta in nato našteti skupine, storitve, povezave in točke povezave. Čeprav je te 3 gradnike mogoče deklarirati v poljubnem vrstnem redu, morate zagotoviti, da je identifikator že predhodno deklarirala druga komponenta.

Skupina

Sintaksa za deklariranje skupine je:

                            
Kopiraj
Vdelava
group {group id}({icon name})[{title}] (in {parent id})?

Po sestavi:

                            
Kopiraj
Vdelava
group public_api(cloud)[Public API]

Ustvari se skupina z imenom public_api, ki uporablja ikono cloud in ima oznako Public API.

Poleg tega lahko z neobvezno sintakso in skupino postavite v drugo skupino.

                            
Kopiraj
Vdelava
group private_api(cloud)[Private API] in public_api

Storitev

Sintaksa za deklariranje storitve je:

                            
Kopiraj
Vdelava
service {service id}({icon name})[{title}] (in {parent id})?

Po sestavi:

                            
Kopiraj
Vdelava
service database1(database)[My Database]

Ustvari se storitev z imenom database1, ki uporablja ikono database in ima oznako My Database.

Če storitev pripada skupini, jo lahko vanjo postavite z neobvezno sintakso in

                            
Kopiraj
Vdelava
service database1(database)[My Database] in private_api

Povezava

Sintaksa za deklariranje povezave je:

                            
Kopiraj
Vdelava
{serviceId}{{group}}?:{T|B|L|R} {<}?--{>}? {T|B|L|R}:{serviceId}{{group}}?

Smer povezave

Smer, s katere strani storitve izhaja povezava, lahko določite tako, da na strani storitve pri povezovalni puščici dodate dvopičje : in dodate L|R|T|B.

Na primer:

                            
Kopiraj
Vdelava
db:R -- L:server

Med storitvama db in server ustvarite povezavo, ki se razteza z desne strani db na levo stran server.

                            
Kopiraj
Vdelava
db:T -- L:server

Med storitvama db in server ustvarite povezavo pod kotom 90 stopinj, ki se razteza z vrha db in leve strani server.

Puščica

Tako da pred smerjo na levi dodate znak <, ali za smerjo na desni dodate znak >, lahko na vsako stran povezave dodate puščico.

Na primer:

                            
Kopiraj
Vdelava
subnet:R --> L:gateway

Ustvarite povezavo s puščico, ki kaže na storitev gateway.

Povezava izven skupine

Da bi povezava prešla iz ene skupine v drugo skupino ali storitev v drugi skupini, lahko za serviceId dodate modifikator {group}.

Na primer:

                            
Kopiraj
Vdelava
service server[Server] in groupOne service subnet[Subnet] in groupTwo server{group}:B --> T:subnet{group}

Ustvarite povezavo, ki izhaja iz groupOne, se poveže v bližino server, nato vstopi v groupTwo in se poveže v bližino subnet.

Upoštevati je treba, da groupId ni mogoče uporabiti za določitev povezave, modifikator {group} pa je mogoče uporabiti le za storitve v skupini.

Točka povezave

Točka povezave je posebna vrsta vozlišča, ki lahko služi kot potencialna štirismerna razcepna točka povezave.

Sintaksa za deklariranje točke povezave je:

                            
Kopiraj
Vdelava
junction {junction id} (in {parent id})?
Koda
                            
Kopiraj
Vdelava
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