PlantUML コンポーネント図: マイクロサービスアーキテクチャ
PlantUMLコンポーネント図でマイクロサービスアーキテクチャをドキュメント化。サービス、API、データベース、通信パターンを1つの図で表示。
Component Diagrams
詳細な説明
コンポーネント図によるマイクロサービスアーキテクチャ
コンポーネント図はコンポーネントとそのインターフェースの観点からシステムの構造的な組織を示します。マイクロサービスでは各サービスが定義されたAPI境界を持つコンポーネントです。
基本的なマイクロサービスレイアウト
@startuml
title マイクロサービスアーキテクチャ
package "APIレイヤー" {
[API Gateway] as GW
}
package "コアサービス" {
[User Service] as US
[Order Service] as OS
[Product Service] as PS
}
package "データストア" {
database "Users DB\n(PostgreSQL)" as UDB
database "Orders DB\n(PostgreSQL)" as ODB
queue "Message Broker\n(Kafka)" as MQ
}
GW --> US
GW --> OS
GW --> PS
US --> UDB
OS --> ODB
OS --> MQ : OrderCreated
@enduml
パッケージとレイヤー
packageブロックを使用してサービスをアーキテクチャレイヤーにグループ化します。一般的なレイヤーにはAPIレイヤー、コアサービス、サポートサービス、データストアがあります。
データベースパーサービス
図の各サービスが独自のデータベースを持ちます。これはマイクロサービスの決定的な特徴であり、図がこのアーキテクチャ決定を明示的かつ可視的にします。
非同期通信
メッセージブローカーにはqueueコンポーネントを使用します。矢印にイベント名をラベル付けして、各サブスクリプションのトリガーを示します。
ユースケース
アーキテクチャ決定記録(ADR)の作成、新しいチームメンバーのシステムアーキテクチャへのオンボーディング、アーキテクチャレビューボードへの技術設計の提示、モノリスからマイクロサービスへの移行中のサービス分解の計画。