jpskill.com
🛠️ 開発・MCP コミュニティ

circuit-breaker-pattern

Implement circuit breaker patterns for fault tolerance, automatic failure detection, and fallback mechanisms. Use when calling external services, handling cascading failures, or implementing resilience patterns.

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o circuit-breaker-pattern.zip https://jpskill.com/download/21360.zip && unzip -o circuit-breaker-pattern.zip && rm circuit-breaker-pattern.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/21360.zip -OutFile "$d\circuit-breaker-pattern.zip"; Expand-Archive "$d\circuit-breaker-pattern.zip" -DestinationPath $d -Force; ri "$d\circuit-breaker-pattern.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して circuit-breaker-pattern.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → circuit-breaker-pattern フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
7

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

サーキットブレーカーパターン

目次

概要

サーキットブレーカーパターンを実装して、カスケード障害を防ぎ、依存関係が失敗した場合にグレースフルデグラデーションを提供します。

使用する場面

  • 外部API呼び出し
  • マイクロサービス間の通信
  • データベース接続
  • サードパーティサービスとの統合
  • カスケード障害の防止
  • フォールバックメカニズムの実装
  • レート制限保護
  • タイムアウト処理

クイックスタート

最小限の動作例:

enum CircuitState {
  CLOSED = "CLOSED",
  OPEN = "OPEN",
  HALF_OPEN = "HALF_OPEN",
}

interface CircuitBreakerConfig {
  failureThreshold: number;
  successThreshold: number;
  timeout: number;
  resetTimeout: number;
}

interface CircuitBreakerStats {
  failures: number;
  successes: number;
  consecutiveFailures: number;
  consecutiveSuccesses: number;
  lastFailureTime?: number;
}

class CircuitBreaker {
  private state: CircuitState = CircuitState.CLOSED;
  private stats: CircuitBreakerStats = {
    failures: 0,
// ... (see reference guides for full implementation)

リファレンスガイド

references/ ディレクトリにある詳細な実装:

ガイド 内容
TypeScript Circuit Breaker TypeScript Circuit Breaker
Circuit Breaker with Monitoring Circuit Breaker with Monitoring
Opossum-Style Circuit Breaker (Node.js) Opossum-Style Circuit Breaker (Node.js)
Python Circuit Breaker Python Circuit Breaker
Resilience4j-Style (Java) Resilience4j-Style (Java)

ベストプラクティス

✅ DO

  • ユースケースに適したしきい値を使用する
  • フォールバックメカニズムを実装する
  • サーキットブレーカーの状態を監視する
  • 適切なタイムアウトを設定する
  • 指数バックオフを使用する
  • 状態遷移をログに記録する
  • 頻繁なトリップをアラートする
  • サーキットブレーカーの動作をテストする
  • 依存関係ごとにブレーカーを使用する
  • ヘルスチェックを実装する

❌ DON'T

  • すべての依存関係に同じブレーカーを使用する
  • 非現実的なしきい値を設定する
  • フォールバックの実装をスキップする
  • オープン状態のサーキットブレーカーを無視する
  • 過度にアグレッシブなリセットタイムアウトを使用する
  • 監視を忘れる
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Circuit Breaker Pattern

Table of Contents

Overview

Implement circuit breaker patterns to prevent cascading failures and provide graceful degradation when dependencies fail.

When to Use

  • External API calls
  • Microservices communication
  • Database connections
  • Third-party service integrations
  • Preventing cascading failures
  • Implementing fallback mechanisms
  • Rate limiting protection
  • Timeout handling

Quick Start

Minimal working example:

enum CircuitState {
  CLOSED = "CLOSED",
  OPEN = "OPEN",
  HALF_OPEN = "HALF_OPEN",
}

interface CircuitBreakerConfig {
  failureThreshold: number;
  successThreshold: number;
  timeout: number;
  resetTimeout: number;
}

interface CircuitBreakerStats {
  failures: number;
  successes: number;
  consecutiveFailures: number;
  consecutiveSuccesses: number;
  lastFailureTime?: number;
}

class CircuitBreaker {
  private state: CircuitState = CircuitState.CLOSED;
  private stats: CircuitBreakerStats = {
    failures: 0,
// ... (see reference guides for full implementation)

Reference Guides

Detailed implementations in the references/ directory:

Guide Contents
TypeScript Circuit Breaker TypeScript Circuit Breaker
Circuit Breaker with Monitoring Circuit Breaker with Monitoring
Opossum-Style Circuit Breaker (Node.js) Opossum-Style Circuit Breaker (Node.js)
Python Circuit Breaker Python Circuit Breaker
Resilience4j-Style (Java) Resilience4j-Style (Java)

Best Practices

✅ DO

  • Use appropriate thresholds for your use case
  • Implement fallback mechanisms
  • Monitor circuit breaker states
  • Set reasonable timeouts
  • Use exponential backoff
  • Log state transitions
  • Alert on frequent trips
  • Test circuit breaker behavior
  • Use per-dependency breakers
  • Implement health checks

❌ DON'T

  • Use same breaker for all dependencies
  • Set unrealistic thresholds
  • Skip fallback implementation
  • Ignore open circuit breakers
  • Use overly aggressive reset timeouts
  • Forget to monitor

同梱ファイル

※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。