microservices-patterns について
microservices-patternsは、マイクロサービスの設計、実装、運用を支援するガイダンススキルです。サービス境界、通信、データ管理、レジリエンス、可観測性、デプロイの資料を必要に応じて参照できます。
主な機能
- 01サービス分割のガイダンス
- 02同期・非同期通信パターン
- 03データ整合性とトランザクション
- 04レジリエンスと可観測性の実践
- 05デプロイと移行の戦略
活用シーン
- 01モノリシックアプリのサービス分割
- 02サービス通信とAPI契約の設計
- 03サービス間のデータ整合性の計画
- 04耐障害性のあるデプロイと移行の準備
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ nickcrew/ claude-cortex --skill microservices-patternsインストール後、Claude Code で/microservices-patternsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/communication-patterns.mddata-management.mddeployment-migration.mdobservability.mdresilience-patterns.mdservice-decomposition.mdvalidation/rubric.yaml詳細
マイクロサービスアーキテクチャのパターン
マイクロサービスアーキテクチャの設計、実装、運用に関する専門的なガイダンスです。
このスキルを使用する場面
- モノリシックアプリケーションをサービスに分割する
- 分散システムをゼロから設計する
- サービス間通信パターン(同期/非同期)を実装する
- サービス間のデータ整合性を管理する
- 回復力のある分散システムを構築する
- サービス境界と API コントラクトを定義する
基本原則
- 単一責任 - 各サービスが変更される理由は1つだけです
- 独立したデプロイが可能 - デプロイ時に連携する必要はありません
- データの分散管理 - 各サービスが自身のデータを排他的に所有します
- 障害を前提とした設計 - 障害を受け入れ、回復力を構築します
- すべてを自動化 - デプロイ、スケーリング、復旧を自動化します
クイックリファレンス
必要に応じて詳細なパターンを読み込みます。
| タスク | リファレンスの読み込み |
|---|---|
| サービス境界を定義し、モノリスを分解する | skills/microservices-patterns/references/service-decomposition.md |
| サービス間通信(同期/非同期)を実装する | skills/microservices-patterns/references/communication-patterns.md |
| データ整合性とトランザクションを管理する | skills/microservices-patterns/references/data-management.md |
| 回復力のあるシステムを構築する(サーキットブレーカー、再試行) | skills/microservices-patterns/references/resilience-patterns.md |
| 可観測性を追加する(トレーシング、ロギング、メトリクス) | skills/microservices-patterns/references/observability.md |
| デプロイと移行を計画する | skills/microservices-patterns/references/deployment-migration.md |
ワークフロー
1. 要件を把握する
- ビジネス機能とドメインを整理する
- スケーラビリティと回復力のニーズを評価する
- チームの境界を特定する
2. サービス境界を定義する
以下については references/service-decomposition.md を読み込みます。
- ビジネス機能の分解
- DDD の境界づけられたコンテキスト
- サービス境界の検証
3. 通信を設計する
以下については references/communication-patterns.md を読み込みます。
- 同期:API Gateway、REST、gRPC
- 非同期:メッセージキュー、Pub/Sub、イベントソーシング
4. データを管理する
以下については references/data-management.md を読み込みます。
- サービスごとのデータベースパターン
- Saga 分散トランザクション
- CQRS による読み取り/書き込みの最適化
5. 回復力を構築する
以下については references/resilience-patterns.md を読み込みます。
- サーキットブレーカー
- 指数バックオフによる再試行
- バルクヘッド分離
- レート制限とタイムアウト
6. 可観測性を追加する
以下については references/observability.md を読み込みます。
- 分散トレーシング
- ログの一元管理
- メトリクスとモニタリング
7. デプロイを計画する
以下については references/deployment-migration.md を読み込みます。
- ブルーグリーン、カナリア、ローリングデプロイ
- ストラングラーフィグ移行パターン
よくある間違い
- 分散モノリス - 密結合されており、まとめてデプロイする必要があります
- 共有データベース - 複数のサービスが同じデータベースにアクセスします
- チャッティー API - 同期的なサービス呼び出しが過剰です
- サーキットブレーカーの欠如 - 連鎖障害を防ぐ仕組みがありません
- 可観測性がない - トレーシング、ロギング、メトリクスなしでデプロイします
- ネットワーク障害の無視 - ネットワークが常に信頼できると想定します
- API バージョニングがない - バージョニングせずに互換性を損なう変更を行います
解決策:具体的な解決方法については、関連するリファレンスファイルを読み込みます。
リソース
- 書籍:「Building Microservices」(Newman)、「Microservices Patterns」(Richardson)
- サイト:microservices.io、martinfowler.com/microservices
- ツール:Kubernetes、Istio、Kafka、Kong、Jaeger、Prometheus
コメント
Markdown 対応