Arkkitehtuurikaavio
Arkkitehtuurikaaviota käytetään pilvipalveluissa tai CI/CD-käyttöönotossa yleisten palveluiden ja resurssien välisten suhteiden esittämiseen. Arkkitehtuurikaaviossa palvelut (solmut) yhdistetään viivoilla. Liittyvät palvelut voidaan sijoittaa ryhmiin niiden organisointitavan havainnollistamiseksi paremmin.
Esimerkki
Kopioi
Upotus
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
Syntaksi
Arkkitehtuurikaavion rakennuspalikat ovat: ryhmät, palvelut, yhdistävät viivat ja yhteyspisteet.
Tuetuille komponenteille kuvake määritellään sulkemalla kuvake sulkeisiin () ja merkintä määritellään sulkemalla teksti hakasulkeisiin [].
Arkkitehtuurikaavion aloittamiseksi on käytettävä architecture-beta-syntaksia ja lueteltava sitten ryhmät, palvelut, yhdistävät viivat ja yhteyspisteet. Vaikka nämä 3 rakennuspalikkaa voidaan määritellä missä tahansa järjestyksessä, on varmistettava, että toinen komponentti on aiemmin määritellyt tunnisteen.
Ryhmä
Ryhmän määrittelyn syntaksi on:
Kopioi
Upotus
group {group id}({icon name})[{title}] (in {parent id})?
Yhdistettynä:
Kopioi
Upotus
group public_api(cloud)[Public API]
Luodaan ryhmä nimeltä public_api, käytetään kuvaketta cloud ja merkintää Public API.
Lisäksi valinnaisella in-syntaksilla ryhmä voidaan sijoittaa toisen ryhmän sisään.
Kopioi
Upotus
group private_api(cloud)[Private API] in public_api
Palvelu
Palvelun määrittelyn syntaksi on:
Kopioi
Upotus
service {service id}({icon name})[{title}] (in {parent id})?
Yhdistettynä:
Kopioi
Upotus
service database1(database)[My Database]
Luodaan palvelu nimeltä database1, käytetään kuvaketta database ja merkintää My Database.
Jos palvelu kuuluu johonkin ryhmään, se voidaan sijoittaa siihen valinnaisella in-syntaksilla
Kopioi
Upotus
service database1(database)[My Database] in private_api
Yhdistävä viiva
Yhdistävän viivan määrittelyn syntaksi on:
Kopioi
Upotus
{serviceId}{{group}}?:{T|B|L|R} {<}?--{>}? {T|B|L|R}:{serviceId}{{group}}?
Yhdistävän viivan suunta
Se, miltä puolelta palvelua viiva lähtee, voidaan määrittää lisäämällä yhteysnuolen palvelun puolelle kaksoispiste : ja lisäämällä L|R|T|B.
Esimerkiksi:
Kopioi
Upotus
db:R -- L:server
Luodaan yhdistävä viiva palveluiden db ja server välille; tämä viiva ulottuu db:n oikealta puolelta serverin vasemmalle puolelle.
Kopioi
Upotus
db:T -- L:server
Luodaan 90 asteen yhdistävä viiva palveluiden db ja server välille; tämä viiva lähtee db:n yläosasta ja serverin vasemmalta puolelta.
Nuoli
Lisäämällä < vasemman suunnan eteen tai > oikean suunnan jälkeen voit lisätä nuolen yhdistävän viivan kummallekin puolelle.
Esimerkiksi:
Kopioi
Upotus
subnet:R --> L:gateway
Luodaan yhdistävä viiva, jossa nuoli osoittaa gateway-palveluun.
Ryhmän ulkopuolinen yhdistävä viiva
Jotta viiva siirtyy ryhmästä toiseen ryhmään tai toisen ryhmän sisällä olevaan palveluun, serviceId:n jälkeen voidaan lisätä {group}-muunnin.
Esimerkiksi:
Kopioi
Upotus
service server[Server] in groupOne
service subnet[Subnet] in groupTwo
server{group}:B --> T:subnet{group}
Luodaan yhdistävä viiva, joka lähtee groupOne-ryhmästä, yhdistyy serverin läheisyyteen, siirtyy sitten groupTwo-ryhmään ja yhdistyy subnetin läheisyyteen.
On huomattava, että groupId:tä ei voi käyttää yhdistävän viivan määrittämiseen, ja {group}-muunninta voidaan käyttää vain ryhmän sisällä oleviin palveluihin.
Yhteyspiste
Yhteyspiste on erityinen solmutyyppi, joka voi toimia yhdistävän viivan mahdollisena nelisuuntaisena haarautumispisteenä.
Yhteyspisteen määrittelyn syntaksi on:
Kopioi
Upotus
junction {junction id} (in {parent id})?
Kopioi
Upotus
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