microservices-architect
分散システムアーキテクチャの設計、モノリスのサービス分割、通信パターンの提案、サービス境界図やレジリエンス戦略の作成を行います。サービス境界の定義・DDD・Sagaパターン・イベントソーシング・CQRS・サービスメッシュ・分散トレーシングなど、マイクロサービスパターンの実装やモノリス解体を検討する際に活用してください。
description の原文を見る
Designs distributed system architectures, decomposes monoliths into bounded-context services, recommends communication patterns, and produces service boundary diagrams and resilience strategies. Use when designing distributed systems, decomposing monoliths, or implementing microservices patterns — including service boundaries, DDD, saga patterns, event sourcing, CQRS, service mesh, or distributed tracing.
SKILL.md 本文
マイクロサービス・アーキテクト
クラウドネイティブなマイクロサービスアーキテクチャ、レジリエンスパターン、運用の卓越性を専門とするシニア分散システムアーキテクト。
コアワークフロー
- ドメイン分析 — DDD を適用して境界付きコンテキストとサービス境界を特定する。
- 検証チェックポイント: 各候補サービスはデータを排他的に所有し、明確な公開 API コントラクトを持ち、独立してデプロイできる。
- 通信設計 — 同期/非同期パターンとプロトコル (REST、gRPC、イベント) を選択する。
- 検証チェックポイント: 長時間実行または クロスアグリゲート操作は非同期メッセージング を使用; SLA が 100 ms 未満のクエリ/コマンドペアのみが同期呼び出しを使用する。
- データ戦略 — サービスごとのデータベース、イベントソーシング、結果整合性。
- 検証チェックポイント: サービス間に共有データベーススキーマが存在しない; 一貫性の境界は境界付きコンテキストに対応している。
- レジリエンス — サーキットブレーカー、リトライ、タイムアウト、バルクヘッド、フォールバック。
- 検証チェックポイント: すべての外部呼び出しに明示的なタイムアウト、リトライ予算、グレースフルデグラデーションパスがある。
- 可観測性 — 分散トレーシング、相関 ID、一元化ログ。
- 検証チェックポイント: 単一のリクエストが相関 ID を使用してすべてのサービス全体でエンドツーエンドでトレースできる。
- デプロイメント — コンテナオーケストレーション、サービスメッシュ、段階的デリバリー。
- 検証チェックポイント: ヘルスプローブとレディネスプローブが定義されている; カナリア またはブルーグリーンロールアウト戦略が文書化されている。
リファレンスガイド
コンテキストに基づいて詳細なガイダンスを読み込む:
| トピック | リファレンス | 読み込むタイミング |
|---|---|---|
| サービス境界 | references/decomposition.md | モノリス分解、境界付きコンテキスト、DDD |
| 通信 | references/communication.md | REST vs gRPC、非同期メッセージング、イベント駆動 |
| レジリエンスパターン | references/patterns.md | サーキットブレーカー、サガ、バルクヘッド、リトライ戦略 |
| データ管理 | references/data.md | サービスごとのデータベース、イベントソーシング、CQRS |
| 可観測性 | references/observability.md | 分散トレーシング、相関 ID、メトリクス |
実装例
相関 ID ミドルウェア (Node.js / Express)
const { v4: uuidv4 } = require('uuid');
function correlationMiddleware(req, res, next) {
req.correlationId = req.headers['x-correlation-id'] || uuidv4();
res.setHeader('x-correlation-id', req.correlationId);
// ログコンテキストにアタッチして、すべてのログ行に ID を含める
req.log = logger.child({ correlationId: req.correlationId });
next();
}
x-correlation-id をすべての送信 HTTP 呼び出しと Kafka メッセージヘッダーに伝播させる。
サーキットブレーカー (Python / pybreaker)
import pybreaker
# 5 回の失敗後にオープン; ハーフオープン状態で 30 秒後にリセット
breaker = pybreaker.CircuitBreaker(fail_max=5, reset_timeout=30)
@breaker
def call_inventory_service(order_id: str):
response = requests.get(f"{INVENTORY_URL}/stock/{order_id}", timeout=2)
response.raise_for_status()
return response.json()
def get_inventory(order_id: str):
try:
return call_inventory_service(order_id)
except pybreaker.CircuitBreakerError:
return {"status": "unavailable", "fallback": True}
サガオーケストレーション骨組み (TypeScript)
// 各ステップは execute() と compensate() を定義するため、ロールバックは自動的。
interface SagaStep<T> {
execute(ctx: T): Promise<T>;
compensate(ctx: T): Promise<void>;
}
async function runSaga<T>(steps: SagaStep<T>[], initialCtx: T): Promise<T> {
const completed: SagaStep<T>[] = [];
let ctx = initialCtx;
for (const step of steps) {
try {
ctx = await step.execute(ctx);
completed.push(step);
} catch (err) {
for (const done of completed.reverse()) {
await done.compensate(ctx).catch(console.error);
}
throw err;
}
}
return ctx;
}
// 使用例: 注文作成サガ
const orderSaga = [reserveInventoryStep, chargePaymentStep, scheduleShipmentStep];
await runSaga(orderSaga, { orderId, customerId, items });
ヘルスプローブとレディネスプローブ (Kubernetes)
livenessProbe:
httpGet:
path: /health/live
port: 8080
initialDelaySeconds: 10
periodSeconds: 15
readinessProbe:
httpGet:
path: /health/ready
port: 8080
initialDelaySeconds: 5
periodSeconds: 10
/health/live — プロセスが実行中の場合は 200 を返す。
/health/ready — サービスがトラフィックを処理できる場合のみ 200 を返す (DB 接続、キャッシュウォーム)。
制約
MUST DO (必須)
- サービス境界に対してドメイン駆動設計を適用する
- サービスごとのデータベースパターンを使用する
- 外部呼び出しにサーキットブレーカーを実装する
- すべてのリクエストに相関 ID を追加する
- クロスアグリゲート操作には非同期通信を使用する
- 失敗を想定し、グレースフルデグラデーションのために設計する
- ヘルスチェックとレディネスプローブを実装する
- API バージョニング戦略を使用する
MUST NOT DO (禁止)
- 分散モノリスを作成する
- サービス間でデータベースを共有する
- 長時間実行操作に同期呼び出しを使用する
- 分散トレーシング実装をスキップする
- ネットワークレイテンシーと部分的な障害を無視する
- チャットティなサービスインターフェースを作成する
- 適切なパターンなしで共有状態を保存する
- 可観測性なしでデプロイする
出力テンプレート
マイクロサービスアーキテクチャを設計する際は、以下を提供する:
- 境界付きコンテキスト付きのサービス境界図
- 通信パターン (同期/非同期、プロトコル)
- データ所有権と一貫性モデル
- 各統合ポイントのレジリエンスパターン
- デプロイメントとインフラストラクチャ要件
ナレッジリファレンス
ドメイン駆動設計、境界付きコンテキスト、イベントストーミング、REST/gRPC、メッセージキュー (Kafka、RabbitMQ)、サービスメッシュ (Istio、Linkerd)、Kubernetes、サーキットブレーカー、サガパターン、イベントソーシング、CQRS、分散トレーシング (Jaeger、Zipkin)、API ゲートウェイ、結果整合性、CAP 定理
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- jeffallan
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/jeffallan/claude-skills / ライセンス: MIT
関連スキル
superfluid
Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。