跳至內容

架構圖文件 (v11.1.0+)

在 mermaid-js 的環境中,架構圖用於展示雲端或 CI/CD 部署中常見的服務與資源之間的關係。在架構圖中,服務(節點)由邊連接。相關的服務可以放置在群組中,以更好地說明它們的組織方式。

範例

語法

架構的建構區塊是 groupsservicesedgesjunctions

為了支援元件,圖示藉由將圖示名稱用 () 包圍來宣告,而標籤則藉由將文字用 [] 包圍來宣告。

要開始架構圖,請使用關鍵字 architecture-beta,後面接著您的群組、服務、邊和交點。雖然這 3 個建構區塊可以依任何順序宣告,但必須注意確保識別符號先前已由另一個元件宣告。

群組

宣告群組的語法是

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

放在一起

group public_api(cloud)[Public API]

建立一個識別為 public_api 的群組,使用圖示 cloud,並帶有標籤 Public API

此外,可以使用可選的 in 關鍵字將群組放置在群組內

group private_api(cloud)[Private API] in public_api

服務

宣告服務的語法是

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

放在一起

service database1(database)[My Database]

建立識別為 database1 的服務,使用圖示 database,並帶有標籤 My Database

如果服務屬於群組,則可以透過可選的 in 關鍵字將其放置在其中

service database1(database)[My Database] in private_api

宣告邊的語法是

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

邊的方向

邊從服務的哪一側出來,是透過將冒號 (:) 新增至連接到箭頭的服務的一側,並新增 L|R|T|B 來指定的

例如

db:R -- L:server

在服務 dbserver 之間建立一個邊,邊從 db 的右側和 server 的左側出來。

db:T -- L:server

在服務 dbserver 之間建立一個 90 度邊,邊從 db 的頂部和 server 的左側出來。

箭頭

可以透過在左側的方向之前新增 <,和/或在右側的方向之後新增 >,將箭頭新增至邊的每一側。

例如

subnet:R --> L:gateway

建立一個箭頭指向 gateway 服務的邊

從群組出來的邊

若要讓邊從群組指向另一個群組或另一個群組中的服務,可以在 serviceId 之後新增 {group} 修飾符。

例如

service server[Server] in groupOne
service subnet[Subnet] in groupTwo

server{group}:B --> T:subnet{group}

建立一個從 groupOne 旁邊的 server 出來,並進入 groupTwo 旁邊的 subnet 的邊。

重要的是要注意,groupId 不能用於指定邊,而且 {group} 修飾符只能用於群組中的服務。

交點

交點是一種特殊的節點,它充當邊之間潛在的 4 向分割。

宣告交點的語法是

junction {junction id} (in {parent id})?

圖示

預設情況下,架構圖支援下列圖示:clouddatabasediskinternetserver。使用者可以使用 iconify.design 中提供的 200,000 多個圖示中的任何一個,或透過遵循此處的步驟新增自己的自訂圖示。

安裝圖示後,可以使用 "name:icon-name" 格式在架構圖中使用它們,其中 name 是註冊圖示包時使用的值。