Registrati
Diagrammi di flusso
Espressione grafica
Mappe mentali
Espressione strutturata
Note
Espressione efficiente

Diagramma di architetturaSintassi

Diagramma di architettura

Il diagramma di architettura mostra le relazioni tra servizi e risorse comuni nelle distribuzioni cloud o CI/CD. Nel diagramma di architettura, i servizi (nodi) sono collegati da linee. I servizi correlati possono essere collocati in gruppi, per illustrare meglio come sono organizzati.

Esempio

Codice
                            
Copia
Incorpora
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

Sintassi

I blocchi costitutivi del diagramma di architettura sono: gruppi, servizi, collegamenti e punti di connessione.

Per i componenti che le supportano, le icone sono dichiarate racchiudendole tra parentesi tonde (), mentre le etichette sono dichiarate racchiudendo il testo tra parentesi quadre [].

Per iniziare un diagramma di architettura, devi usare la sintassi architecture-beta e poi elencare gruppi, servizi, collegamenti e punti di connessione. Sebbene questi 3 blocchi costitutivi possano essere dichiarati in qualsiasi ordine, devi assicurarti che l'identificatore sia già stato dichiarato in precedenza da un altro componente.

Gruppo

La sintassi per dichiarare un gruppo è:

                            
Copia
Incorpora
group {group id}({icon name})[{title}] (in {parent id})?

Combinando:

                            
Copia
Incorpora
group public_api(cloud)[Public API]

È stato creato un gruppo chiamato public_api, usando l'icona cloud e con l'etichetta Public API.

Inoltre, puoi collocare un gruppo dentro un altro gruppo usando la sintassi opzionale in.

                            
Copia
Incorpora
group private_api(cloud)[Private API] in public_api

Servizio

La sintassi per dichiarare un servizio è:

                            
Copia
Incorpora
service {service id}({icon name})[{title}] (in {parent id})?

Combinando:

                            
Copia
Incorpora
service database1(database)[My Database]

Crea il servizio chiamato database1, usando l'icona database, con l'etichetta My Database.

Se il servizio appartiene a un gruppo, puoi collocarlo al suo interno usando la sintassi opzionale in

                            
Copia
Incorpora
service database1(database)[My Database] in private_api

Collegamento

La sintassi per dichiarare un collegamento è:

                            
Copia
Incorpora
{serviceId}{{group}}?:{T|B|L|R} {<}?--{>}? {T|B|L|R}:{serviceId}{{group}}?

Direzione del collegamento

Da quale lato del servizio esce il collegamento può essere specificato aggiungendo i due punti : sul lato del servizio della freccia di collegamento e aggiungendo L|R|T|B.

Ad esempio:

                            
Copia
Incorpora
db:R -- L:server

Crea un collegamento tra i servizi db e server, che si estende dal lato destro di db al lato sinistro di server.

                            
Copia
Incorpora
db:T -- L:server

Crea un collegamento a 90 gradi tra i servizi db e server, che parte dalla parte superiore di db e dal lato sinistro di server.

Freccia

Aggiungendo < prima della direzione a sinistra, oppure > dopo la direzione a destra, puoi aggiungere una freccia su ciascun lato del collegamento.

Ad esempio:

                            
Copia
Incorpora
subnet:R --> L:gateway

Crea un collegamento con una freccia che punta al servizio gateway.

Collegamenti esterni al gruppo

Per far passare un collegamento da un gruppo a un altro gruppo o a un servizio dentro un altro gruppo, puoi aggiungere il modificatore {group} dopo serviceId.

Ad esempio:

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

Crea un collegamento che parte da groupOne, si collega in prossimità di server, poi entra in groupTwo e si collega in prossimità di subnet.

Da notare che groupId non può essere usato per specificare un collegamento, mentre il modificatore {group} può essere usato solo per i servizi all'interno di un gruppo.

Punto di connessione

Il punto di connessione è un tipo speciale di nodo che può fungere da potenziale punto di diramazione a quattro vie di un collegamento.

La sintassi per dichiarare un punto di connessione è:

                            
Copia
Incorpora
junction {junction id} (in {parent id})?
Codice
                            
Copia
Incorpora
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