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)の作成、新しいチームメンバーのシステムアーキテクチャへのオンボーディング、アーキテクチャレビューボードへの技術設計の提示、モノリスからマイクロサービスへの移行中のサービス分解の計画。

試してみる — PlantUML Editor

フルツールを開く