microservices-architecture
サービス境界の設計、通信パターン、APIゲートウェイ、サービスメッシュ、サービスディスカバリー、分散システムパターンなど、マイクロサービスアーキテクチャの設計と実装を支援します。マイクロサービスや分散システム、サービス指向アーキテクチャを構築する際にご活用ください。
description の原文を見る
> Design and implement microservices architecture including service boundaries, communication patterns, API gateways, service mesh, service discovery, and distributed system patterns. Use when building microservices, distributed systems, or service-oriented architectures.
SKILL.md 本文
マイクロサービス・アーキテクチャ
目次
概要
マイクロサービス・アーキテクチャの設計、実装、保守に関する包括的なガイドです。サービスの分解、通信パターン、データ管理、デプロイ戦略、および分散システムの可観測性をカバーしています。
使用する時機
- 新しいマイクロサービス・アーキテクチャの設計
- モノリシックアプリケーションの分解
- サービス間通信の実装
- APIゲートウェイとサービスメッシュのセットアップ
- サービスディスカバリーの実装
- 分散トランザクションの管理
- サービス間のデータ一貫性設計
- 独立したサービスのスケーリング
クイックスタート
最小限の動作例:
Bounded Contexts:
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Order Service │ │ User Service │ │ Payment Service │
│ │ │ │ │ │
│ - Create Order │ │ - User Profile │ │ - Process Pay │
│ - Order Status │ │ - Auth │ │ - Refund │
│ - Order History │ │ - Preferences │ │ - Transactions │
└─────────────────┘ └─────────────────┘ └─────────────────┘
リファレンスガイド
references/ ディレクトリの詳細な実装:
| ガイド | 内容 |
|---|---|
Service Boundary Design | サービス境界設計 |
Communication Patterns | 通信パターン |
API Gateway Pattern | APIゲートウェイパターン |
Service Discovery | サービスディスカバリー |
Data Consistency Patterns | データ一貫性パターン |
Service Mesh (Istio) | サービスメッシュ(Istio) |
ベストプラクティス
✅ すべきこと
- ビジネス機能を中心にサービスを設計する
- 可能な限り非同期通信を使用する
- レジリエンス向上のためにサーキットブレーカーを実装する
- APIゲートウェイを横断的関心事に使用する
- 分散トレーシングを実装する
- サービス間通信にサービスメッシュを使用する
- 障害を考慮した設計を行う(カオスエンジニアリング)
- すべてのサービスにヘルスチェックを実装する
- リクエスト追跡のための相関IDを使用する
- APIをバージョニングする
- 適切なモニタリングとアラーティングを実装する
- 疎結合のためにイベント駆動アーキテクチャを使用する
- べき等な操作を実装する
- サービスごとにデータベースを使用するパターンを採用する
❌ すべきでないこと
- サービス間でデータベースを共有する
- 過度に細粒度なサービスを作成する(ナノサービス)
- 分散トランザクション(2フェーズコミット)を使用する
- ネットワーク遅延と障害を無視する
- サービス間でドメインモデルを共有する
- すべてのサービスを1つのユニットとしてデプロイする
- サービスURLをハードコードする
- 認証・認可の実装を忘れる
- 長時間実行される操作に同期呼び出しを使用する
- 後方互換性を無視する
- モニタリングとログ出力をスキップする
- サービス間の循環依存を作成する
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- aj-geddes
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/aj-geddes/useful-ai-prompts / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。