Tipo de diagrama de flujo
Expresión gráfica
Mapas mentales
Expresión estructurada
Notas
Expresión eficiente

Diagrama de arquitecturaSintaxis

Diagrama de arquitectura

El diagrama de arquitectura se usa para mostrar las relaciones entre servicios y recursos habituales en despliegues en la nube o CI/CD. En el diagrama de arquitectura, los servicios (nodos) se conectan mediante líneas. Los servicios relacionados pueden colocarse en grupos para ilustrar mejor cómo se organizan.

Ejemplo

Código
                            
Copiar
Insertar
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

Sintaxis

Los bloques de construcción del diagrama de arquitectura son: grupos, servicios, enlaces y puntos de conexión.

Para los componentes compatibles, el icono se declara encerrándolo entre paréntesis () y la etiqueta se declara encerrando el texto entre corchetes [].

Para empezar un diagrama de arquitectura, hay que usar la sintaxis architecture-beta y luego enumerar los grupos, servicios, enlaces y puntos de conexión. Aunque estos 3 bloques de construcción pueden declararse en cualquier orden, hay que asegurarse de que el identificador ya haya sido declarado antes por otro componente.

Grupo

La sintaxis para declarar un grupo es:

                            
Copiar
Insertar
group {group id}({icon name})[{title}] (in {parent id})?

Combinado:

                            
Copiar
Insertar
group public_api(cloud)[Public API]

Se crea un grupo llamado public_api, que usa el icono cloud y lleva la etiqueta Public API.

Además, puedes colocar un grupo dentro de otro grupo con la sintaxis opcional in.

                            
Copiar
Insertar
group private_api(cloud)[Private API] in public_api

Servicio

La sintaxis para declarar un servicio es:

                            
Copiar
Insertar
service {service id}({icon name})[{title}] (in {parent id})?

Combinado:

                            
Copiar
Insertar
service database1(database)[My Database]

Crea un servicio llamado database1, que usa el icono database y lleva la etiqueta My Database.

Si el servicio pertenece a un grupo, puedes colocarlo dentro con la sintaxis opcional in

                            
Copiar
Insertar
service database1(database)[My Database] in private_api

Enlace

La sintaxis para declarar un enlace es:

                            
Copiar
Insertar
{serviceId}{{group}}?:{T|B|L|R} {<}?--{>}? {T|B|L|R}:{serviceId}{{group}}?

Dirección del enlace

Puedes especificar por qué lado del servicio sale el enlace añadiendo dos puntos : en el lado del servicio de la flecha de conexión y añadiendo L|R|T|B.

Por ejemplo:

                            
Copiar
Insertar
db:R -- L:server

Crea un enlace entre los servicios db y server; este enlace se extiende desde el lado derecho de db hasta el lado izquierdo de server.

                            
Copiar
Insertar
db:T -- L:server

Crea un enlace de 90 grados entre los servicios db y server; este enlace sale de la parte superior de db y del lado izquierdo de server.

Flecha

Puedes añadir una flecha en cada lado del enlace añadiendo < delante de la dirección izquierda, o > después de la dirección derecha.

Por ejemplo:

                            
Copiar
Insertar
subnet:R --> L:gateway

Crea un enlace con una flecha que apunta al servicio gateway.

Enlace fuera del grupo

Para que un enlace pase de un grupo a otro grupo o a un servicio dentro de otro grupo, puedes añadir el modificador {group} después de serviceId.

Por ejemplo:

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

Crea un enlace que parte de groupOne, se conecta cerca de server y luego entra en groupTwo, conectándose cerca de subnet.

Hay que tener en cuenta que groupId no puede usarse para especificar un enlace, y el modificador {group} solo puede usarse para servicios dentro de un grupo.

Punto de conexión

El punto de conexión es un tipo especial de nodo que puede servir como posible punto de bifurcación en cuatro direcciones de un enlace.

La sintaxis para declarar un punto de conexión es:

                            
Copiar
Insertar
junction {junction id} (in {parent id})?
Código
                            
Copiar
Insertar
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