Dayagram ng arkitektura
Ang architecture diagram ay ginagamit upang ipakita ang relasyon sa pagitan ng mga service at resource na karaniwan sa cloud o CI/CD deployment. Sa architecture diagram, ang mga service (node) ay konektado sa pamamagitan ng linya. Ang mga kaugnay na service ay maaaring ilagay sa group, upang mas mahusay na maipaliwanag ang paraan ng kanilang organisasyon.
Halimbawa
Kopyahin
Embed
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
Syntax
Ang mga building block ng architecture diagram ay: group, service, connection, at connection point.
Para sa sinusuportahang component, ang icon ay idineklara sa pamamagitan ng paglalagay ng icon sa loob ng parenthesis (), at ang label ay idineklara sa pamamagitan ng paglalagay ng teksto sa loob ng square brackets [].
Upang magsimula ng architecture diagram, kailangang gamitin ang architecture-beta syntax, pagkatapos ay ilista ang group, service, connection, at connection point. Bagaman ang 3 building block na ito ay maaaring ideklara sa anumang pagkakasunod-sunod, dapat tiyakin na ang identifier ay nauna nang naideklara ng ibang component.
Group
Ang syntax para sa pagdedeklara ng group ay:
Kopyahin
Embed
group {group id}({icon name})[{title}] (in {parent id})?
Pagkatapos pagsamahin:
Kopyahin
Embed
group public_api(cloud)[Public API]
Gumawa ng group na pinangalanang public_api, gamit ang icon na cloud, at may label na Public API.
Bukod dito, maaaring gamitin ang opsyonal na in syntax upang ilagay ang group sa loob ng ibang group.
Kopyahin
Embed
group private_api(cloud)[Private API] in public_api
Service
Ang syntax para sa pagdedeklara ng service ay:
Kopyahin
Embed
service {service id}({icon name})[{title}] (in {parent id})?
Pagkatapos pagsamahin:
Kopyahin
Embed
service database1(database)[My Database]
Gumawa ng service na pinangalanang database1, gamit ang icon na database, at label na My Database.
Kung ang service ay kabilang sa isang group, maaari mong ilagay ito sa loob nito gamit ang opsyonal na in syntax
Kopyahin
Embed
service database1(database)[My Database] in private_api
Connection
Ang syntax para sa pagdedeklara ng connection ay:
Kopyahin
Embed
{serviceId}{{group}}?:{T|B|L|R} {<}?--{>}? {T|B|L|R}:{serviceId}{{group}}?
Direksyon ng connection
Ang kung saang bahagi ng service lalabas ang connection ay maaaring tukuyin sa pamamagitan ng pagdaragdag ng colon : sa gilid ng service ng connection arrow at pagdaragdag ng L|R|T|B.
Halimbawa:
Kopyahin
Embed
db:R -- L:server
Gumawa ng connection sa pagitan ng service db at server, ang connection na ito ay umaabot mula sa kanang bahagi ng db patungo sa kaliwang bahagi ng server.
Kopyahin
Embed
db:T -- L:server
Gumawa ng 90-degree na connection sa pagitan ng service db at server, ang connection na ito ay lumalabas mula sa tuktok ng db at kaliwang bahagi ng server.
Palaso
Sa pamamagitan ng pagdaragdag ng < bago ang kaliwang direksyon, o > pagkatapos ng kanang direksyon, maaari kang magdagdag ng palaso sa bawat bahagi ng connection.
Halimbawa:
Kopyahin
Embed
subnet:R --> L:gateway
Gumawa ng connection na may palaso na tumuturo sa service na gateway.
Connection sa labas ng group
Upang mailipat ang connection mula sa isang group patungo sa ibang group o service sa loob ng ibang group, maaari mong magdagdag ng {group} modifier pagkatapos ng serviceId.
Halimbawa:
Kopyahin
Embed
service server[Server] in groupOne
service subnet[Subnet] in groupTwo
server{group}:B --> T:subnet{group}
Gumawa ng connection, na nagsisimula sa groupOne, kumokonekta sa kalapit na posisyon ng server, pagkatapos ay pumapasok sa groupTwo, kumokonekta sa kalapit na posisyon ng subnet.
Tandaan, ang groupId ay hindi maaaring gamitin upang tumukoy ng connection, at ang {group} modifier ay maaari lamang gamitin para sa service sa loob ng group.
Connection point
Ang connection point ay isang espesyal na uri ng node, maaari itong magsilbing potensyal na four-way fork point ng connection.
Ang syntax para sa pagdedeklara ng connection point ay:
Kopyahin
Embed
junction {junction id} (in {parent id})?
Kopyahin
Embed
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