フローチャート
グラフィック表現
マインドマップ
構造化された表現
ノート
効率的な表現

アーキテクチャ図構文

アーキテクチャ図

アーキテクチャ図は、クラウドまたは CI/CD デプロイで一般的なサービスとリソース間の関係を表示するために使用されます。アーキテクチャ図では、サービス(ノード)は線で接続されます。関連するサービスはグループにまとめることができ、それらの構成方法をよりよく説明できます。

例

コード
                            
コピー
埋め込み
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

構文

アーキテクチャ図の構成要素は:グループ、サービス、リンク、接続点です。

サポートされるコンポーネントでは、アイコンは小括弧 () でアイコンを囲んで宣言し、ラベルは角括弧 [] でテキストを囲んで宣言します。

アーキテクチャ図を開始するには、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

サービス db と server の間にリンクを作成し、このリンクは db の右側から server の左側に伸びます。

                            
コピー
埋め込み
db:T -- L:server

サービス db と server の間に 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} 修飾子はグループ内のサービスにのみ使用できることです。

接続点

接続点は特殊なタイプのノードで、リンクの潜在的な四方向の分岐点として機能します。

接続点を宣言する構文は:

                            
コピー
埋め込み
junction {junction id} (in {parent id})?
コード
                            
コピー
埋め込み
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