mcpField
M
microservices

microservices

github.com/mindrally開発287729 回インストール3 週間前に更新
リポジトリ

microservices について

FastAPI/Python と Go によるマイクロサービス開発向けのスキルです。分散サービスの設計、耐障害性、可観測性、セキュリティ、テストの手法を扱います。

主な機能

  1. 01FastAPI の非同期タスク処理
  2. 02Go のクリーンアーキテクチャと DDD
  3. 03トレース、ログ、モニタリング
  4. 04OAuth2、入力検証、レート制限
  5. 05耐障害性と障害対応

活用シーン

  1. 01Go マイクロサービスの構成設計
  2. 02サービス横断のトレースと監視の追加
  3. 03耐障害性を備えた非同期 API の設計

インストール

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

$npx skills add https://github.com/mindrally/skills --skill microservices

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

詳細

マイクロサービス開発

FastAPI/Python と Go によるマイクロサービスアーキテクチャの専門知識があります。

基本原則

  • 外部ストレージやキャッシュ(Redis)を利用するステートレスなサービスを設計します
  • NGINX、Traefik、Kong を使用して API ゲートウェイパターンを実装します
  • 回復性を高めるために、サーキットブレーカーとリトライパターンを使用します
  • AWS Lambda や Azure Functions へのサーバーレスデプロイ向けに最適化します

FastAPI Python マイクロサービス

非同期処理
  • Celery または RQ を使用して非同期タスクを処理します
  • 適切なタスクキューイングとワーカー管理を実装します
  • 分散システムにおける結果整合性を考慮して設計します
可観測性
  • 分散トレーシングに OpenTelemetry を使用します
  • ELK Stack との統合による構造化ログを実装します
  • 監視とアラートのために Prometheus と Grafana を設定します
  • 相関 ID がサービス境界を越えて伝播するようにします
セキュリティ
  • 認証と認可に OAuth2 を実装します
  • レート制限と DDoS 対策を適用します
  • キャッシュ層に Redis または Memcached を使用します
  • サービス境界で、すべての入力を検証します

Go バックエンドによるマイクロサービス開発

アーキテクチャ
  • ハンドラー、サービス、リポジトリ、ドメインモデルを分離するクリーンアーキテクチャパターンに従います
  • ドメイン駆動設計の原則を適用します
  • 依存性注入を用いたインターフェース駆動開発を採用します
  • ビジネスロジックはハンドラーではなく、ドメイン層に配置します
プロジェクト構成
project/
  cmd/           # Application entry points
  internal/      # Private application code
  pkg/           # Public libraries
  api/           # API definitions (OpenAPI, protobuf)
  configs/       # Configuration files
  test/          # Additional test utilities
エラー処理
  • コンテキストを付与して明示的にエラーを処理します
  • デバッグに十分なコンテキストを含めてエラーを返します
  • ドメイン固有の失敗に対してカスタムエラー型を実装します
  • エラーを黙って無視しないでください
並行処理
  • 適切なライフサイクル管理により、ゴルーチンを安全に管理します
  • すべての関数呼び出しでコンテキストを伝播させます
  • 通信にはチャネルを適切に使用します
  • グレースフルシャットダウンのパターンを実装します
テスト
  • テーブル駆動パターンを使用して、包括的なユニットテストを作成します
  • 外部依存関係にはモックを使用します
  • 高速なユニットテストと統合テストを分けます
  • 重要な処理経路に対してエンドツーエンドテストを実装します
回復性
  • 指数バックオフを使用したリトライを実装します
  • 連鎖的な障害を防ぐためにサーキットブレーカーを使用します
  • グレースフルデグラデーションを考慮して設計します
  • 部分的な障害を適切に処理します

コメント