mcpField
R
rabbitmq

rabbitmq

github.com/claude-dev-suite開発4651 回インストール2 日前に更新
リポジトリ

rabbitmq について

RabbitMQ 開発者向けの基礎知識スキルです。メッセージルーティング、キュー設定、本番運用上の注意点、トラブルシューティングを扱い、追加ドキュメントへの参照も示します。

主な機能

  1. 01エクスチェンジ、キュー、バインディングの解説
  2. 024 種類のエクスチェンジによるルーティング
  3. 03キュー設定とメッセージ有効期限の紹介
  4. 04アンチパターンと対策の提示
  5. 05よくある問題の調査手順

活用シーン

  1. 01メッセージルーティングとキュー構成の設計
  2. 02RabbitMQ の本番設定の確認
  3. 03滞留や未ルーティングメッセージの調査

MCP 対応

README では、RabbitMQ の詳細ドキュメント取得先として mcp__documentation__fetch_docs に言及しています。スキル自体の MCP 接続方法は説明されていません。

インストール

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

$npx skills add https://github.com/claude-dev-suite/claude-dev-suite --skill rabbitmq

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

同梱ファイルadvanced.md

詳細

RabbitMQ の基本知識

全リファレンス:プロデューサーパターン(Node.js、Java、Python、Go)、コンシューマーパターン、セキュリティ設定、高可用性のセットアップについては、advanced.md を参照してください。

詳細な知識:包括的なドキュメントについては、technology: rabbitmq を指定して mcp__documentation__fetch_docs を使用してください。

クイックスタート(Docker)

services:
  rabbitmq:
    image: rabbitmq:3-management
    ports:
      - "5672:5672"   # AMQP
      - "15672:15672" # Management UI
    environment:
      - RABBITMQ_DEFAULT_USER=admin
      - RABBITMQ_DEFAULT_PASS=admin

基本概念

概念説明
Exchangeメッセージをキューにルーティングします
Queueメッセージを保存するバッファーです
Bindingエクスチェンジとキューを結び付けるルールです
Routing Keyルーティングに使用するメッセージ属性です

アーキテクチャ

Producer ──▶ Exchange ──binding──▶ Queue ──▶ Consumer
                │
                ├── direct   (exact routing key match)
                ├── topic    (pattern matching)
                ├── fanout   (broadcast to all)
                └── headers  (header-based routing)

エクスチェンジの種類

種類ルーティングユースケース
directキーの完全一致タスクキュー、RPC
topicパターン(*.#)イベントのルーティング
fanoutすべてにブロードキャスト通知
headersヘッダーの一致複雑なルーティング
# Topic exchange patterns
order.*        → matches order.created, order.updated
order.#        → matches order.created, order.item.added
*.created      → matches order.created, user.created

キューの設定

引数説明
x-message-ttlメッセージの有効期限(ms)
x-max-lengthキューの最大サイズ
x-dead-letter-exchange拒否されたメッセージ用の DLX
x-dead-letter-routing-keyDLQ のルーティングキー
x-queue-typeclassic、quorum、stream

このスキルを使用すべきでない場合

  • リプレイを伴うイベントストリーミング — Kafka は永続ログを提供します
  • 極めて高いスループット(>100k msg/s) — Kafka または Pulsar のほうがスケーラビリティに優れています
  • AWS ネイティブのアーキテクチャ — SQS のほうが統合に適しています
  • 軽量なメッセージング — NATS のほうが運用がシンプルです
  • JMS への準拠が必要 — ActiveMQ は JMS API を提供します

アンチパターン

アンチパターン問題点解決策
プリフェッチ制限がないコンシューマーが過負荷になりますprefetch を 10-50 に設定します
HA 環境での classic キューノード障害時にデータが失われますquorum キューを使用します
DLX が設定されていない不正なメッセージが永久にループしますデッドレターエクスチェンジを設定します
自動 ACKクラッシュ時にメッセージが失われます手動 ACK を使用します
パブリッシャー確認がないメッセージが通知されずに失われます重要なメッセージでは確認を有効にします

トラブルシューティングのクイックガイド

問題主な原因対処法
メッセージが滞留するコンシューマーの処理が遅い、または停止しているコンシューマー数と処理状況を確認します
メモリー使用量が多いACK されていないメッセージが多すぎますプリフェッチを減らし、コンシューマーを追加します
メッセージがルーティングされないルーティングキーが誤っていますエクスチェンジとキューのバインディングを確認します
メッセージが重複するACK の前にコンシューマーがクラッシュしました冪等な処理を実装します
パブリッシャー確認がタイムアウトするブローカーに過負荷がかかっています発行レートを下げます

本番環境チェックリスト

  • TLS/SSL を有効化
  • 最小権限のユーザーを設定
  • 分離のために仮想ホストを使用
  • HA 用に quorum キューを使用
  • デッドレターエクスチェンジを設定
  • メッセージ TTL を設定
  • プリフェッチ制限を設定
  • パブリッシャー確認を有効化
  • 監視ダッシュボードを用意
  • アラートを設定

リファレンスドキュメント

利用可能なトピック:basics、exchanges、queues、consumers、clustering、production

コメント