microservices-patterns について
マイクロサービスを扱うアーキテクトや開発者向けのスキルです。サービス境界、通信、データ管理、分散トランザクション、分散システムの耐障害性パターンを扱います。
主な機能
- 01サービス分割戦略
- 02同期・非同期通信
- 03サービスごとのデータ管理
- 04Saga による分散トランザクション
- 05サーキットブレーカー、再試行、バルクヘッド
活用シーン
- 01モノリスからマイクロサービスへの段階的移行
- 02サービス境界と契約の定義
- 03分散データとトランザクションの管理
- 04イベント駆動アーキテクチャの設計
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ wshobson/ agents --skill microservices-patternsインストール後、Claude Code で/microservices-patternsを入力して読み込まれたか確認します。
同梱ファイルreferences/details.md
詳細
マイクロサービスパターン
分散システムを構築するための、サービス境界、サービス間通信、データ管理、レジリエンスパターンを含むマイクロサービスアーキテクチャパターンを習得します。
このスキルを使用する場面
- モノリスをマイクロサービスに分解する
- サービス境界とコントラクトを設計する
- サービス間通信を実装する
- 分散データとトランザクションを管理する
- 回復力のある分散システムを構築する
- サービスディスカバリとロードバランシングを実装する
- イベント駆動アーキテクチャを設計する
中核となる概念
1. サービス分解の戦略
ビジネスケイパビリティ別
- ビジネス機能を中心にサービスを編成する
- 各サービスが自身のドメインを所有する
- 例: OrderService、PaymentService、InventoryService
サブドメイン別 (DDD)
- コアドメイン、サポートサブドメイン
- 境界づけられたコンテキストがサービスに対応する
- 明確な所有権と責務
ストラングラーフィグパターン
- モノリスから徐々に抽出する
- 新機能はマイクロサービスとして
- プロキシが新旧システムへルーティングする
2. 通信パターン
同期 (リクエスト/レスポンス)
- REST API
- gRPC
- GraphQL
非同期 (イベント/メッセージ)
- イベントストリーミング (Kafka)
- メッセージキュー (RabbitMQ、SQS)
- Pub/Sub パターン
3. データ管理
サービスごとのデータベース
- 各サービスが自身のデータを所有する
- 共有データベースはなし
- 疎結合
Saga パターン
- 分散トランザクション
- 補償アクション
- 結果整合性
4. レジリエンスパターン
サーキットブレーカー
- エラーが繰り返されると即座に失敗させる
- 連鎖障害を防ぐ
バックオフ付きリトライ
- 一時的な障害の処理
- 指数バックオフ
バルクヘッド
- リソースを分離する
- 障害の影響を限定する
詳細なパターンと実例
詳細なパターンのドキュメントは references/details.md にあります。上記のナビゲーション階層では不十分な場合は、そのファイルを参照してください。
コメント
Markdown 対応