mcpField
M
microservices-architecture

microservices-architecture

github.com/aj-geddes開発373524 回インストール34 週間前に更新
リポジトリ

microservices-architecture について

マイクロサービスアーキテクチャの設計、実装、保守に関するガイドです。サービス境界や通信、データ整合性、デプロイ、分散システムの可観測性を扱います。

主な機能

  1. 01サービス境界の設計
  2. 02サービス間通信パターン
  3. 03API ゲートウェイとサービスディスカバリー
  4. 04データ整合性パターン
  5. 05デプロイと可観測性の実践

活用シーン

  1. 01新しいマイクロサービスシステムの設計
  2. 02モノリシックアプリケーションの分割
  3. 03サービス間通信の計画
  4. 04サービスの個別スケーリング

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill microservices-architecture

インストール後、Claude Code で/microservices-architectureを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
api-gateway-pattern.md
communication-patterns.md
data-consistency-patterns.md
service-boundary-design.md
service-discovery.md
service-mesh-istio.md
scripts/
validate-config.sh
templates/
config-starter.yaml

詳細

マイクロサービスアーキテクチャ

目次

概要

マイクロサービスアーキテクチャの設計、実装、保守に関する包括的なガイドです。分散システムにおけるサービスの分割、通信パターン、データ管理、デプロイ戦略、可観測性を網羅しています。

使用する場面

  • 新しいマイクロサービスアーキテクチャを設計する
  • モノリシックアプリケーションを分割する
  • サービス間通信を実装する
  • API ゲートウェイとサービスメッシュを設定する
  • サービスディスカバリーを実装する
  • 分散トランザクションを管理する
  • サービス間のデータ整合性を設計する
  • サービスを個別にスケーリングする

クイックスタート

最小限の動作例:

Bounded Contexts:
┌─────────────────┐  ┌─────────────────┐  ┌─────────────────┐
│  Order Service  │  │  User Service   │  │ Payment Service │
│                 │  │                 │  │                 │
│ - Create Order  │  │ - User Profile  │  │ - Process Pay   │
│ - Order Status  │  │ - Auth          │  │ - Refund        │
│ - Order History │  │ - Preferences   │  │ - Transactions  │
└─────────────────┘  └─────────────────┘  └─────────────────┘

リファレンスガイド

詳細な実装については、references/ ディレクトリを参照してください:

ガイド内容
サービス境界の設計サービス境界の設計
通信パターン通信パターン
API ゲートウェイパターンAPI ゲートウェイパターン
サービスディスカバリーサービスディスカバリー
データ整合性パターンデータ整合性パターン
サービスメッシュ(Istio)サービスメッシュ(Istio)

ベストプラクティス

✅ DO
  • ビジネスケイパビリティを中心にサービスを設計する
  • 可能な場合は非同期通信を使用する
  • 耐障害性を高めるためにサーキットブレーカーを実装する
  • 横断的関心事には API ゲートウェイを使用する
  • 分散トレーシングを実装する
  • サービス間通信にはサービスメッシュを使用する
  • 障害を前提に設計する(カオスエンジニアリング)
  • すべてのサービスにヘルスチェックを実装する
  • リクエスト追跡に相関 ID を使用する
  • API にバージョンを付ける
  • 適切な監視とアラートを実装する
  • 疎結合を実現するためにイベント駆動型アーキテクチャを使用する
  • 冪等性のある操作を実装する
  • サービスごとにデータベースを設けるパターンを使用する
❌ DON'T
  • サービス間でデータベースを共有する
  • サービスを過度に細分化する(ナノサービス)
  • 分散トランザクションを使用する(2 フェーズコミット)
  • ネットワークの遅延や障害を無視する
  • サービス間でドメインモデルを共有する
  • すべてのサービスを一つの単位としてデプロイする
  • サービス URL をハードコードする
  • 認証/認可の実装を忘れる
  • 長時間実行される処理に同期呼び出しを使用する
  • 後方互換性を無視する
  • 監視やログ記録を省略する
  • サービス間に循環依存を作る

コメント