RabbitMQ message broker with AMQP protocol. Covers exchanges, queues, bindings, and messaging patterns. Use for reliable message delivery and complex routing scenarios. USE WHEN: user mentions "rabbitmq", "amqp", "exchanges", "routing patterns", "topic exchange", "fanout", asks about "message routing", "work queues", "request/reply", "flexible routing" DO NOT USE FOR: high-throughput streaming - use `kafka` or `pulsar`; cloud-native - use `nats`; AWS-native - use `sqs`; JMS required - use `activemq`; simple pub/sub - use `redis-pubsub`

GitHub
安装命令
npx skhub add claude-dev-suite/rabbitmq
Markdown
SKILL.md

RabbitMQ Core Knowledge

Full Reference: See advanced.md for producer patterns (Node.js, Java, Python, Go), consumer patterns, security configuration, and high availability setup.

Deep Knowledge: Use mcp__documentation__fetch_docs with technology: rabbitmq for comprehensive documentation.

Quick Start (Docker)

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

Core Concepts

ConceptDescription
ExchangeRoutes messages to queues
QueueBuffer that stores messages
BindingRule linking exchange to queue
Routing KeyMessage attribute for routing

Architecture

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

Exchange Types

TypeRoutingUse Case
directExact key matchTask queues, RPC
topicPattern (*.#)Event routing
fanoutBroadcast allNotifications
headersHeader matchComplex routing
# Topic exchange patterns
order.*        → matches order.created, order.updated
order.#        → matches order.created, order.item.added
*.created      → matches order.created, user.created

Queue Configuration

ArgumentDescription
x-message-ttlMessage expiration (ms)
x-max-lengthMax queue size
x-dead-letter-exchangeDLX for rejected messages
x-dead-letter-routing-keyDLQ routing key
x-queue-typeclassic, quorum, stream

When NOT to Use This Skill

  • Event streaming with replay - Kafka provides persistent log
  • Ultra-high throughput (>100k msg/s) - Kafka or Pulsar scale better
  • AWS-native architecture - SQS integrates better
  • Lightweight messaging - NATS has simpler operations
  • JMS compliance required - ActiveMQ provides JMS API

Anti-Patterns

Anti-PatternWhy It's BadSolution
No prefetch limitConsumer overwhelmedSet prefetch to 10-50
Classic queues in HAData loss on node failureUse quorum queues
No DLX configuredPoison messages loop foreverConfigure dead letter exchange
Automatic acksMessage loss on crashUse manual acks
No publisher confirmsSilent message lossEnable confirms for critical messages

Quick Troubleshooting

IssueLikely CauseFix
Messages piling upSlow/dead consumerCheck consumer count and processing
High memory usageToo many unacked messagesReduce prefetch, add consumers
Messages not routedWrong routing keyCheck exchange-queue bindings
Duplicate messagesConsumer crashed before ackImplement idempotent processing
Publisher confirms timeoutBroker overloadedReduce publish rate

Production Checklist

  • TLS/SSL enabled
  • Users with least privilege
  • Virtual hosts for isolation
  • Quorum queues for HA
  • Dead letter exchanges configured
  • Message TTL set
  • Prefetch limits configured
  • Publisher confirms enabled
  • Monitoring dashboards
  • Alerting configured

Reference Documentation

Available topics: basics, exchanges, queues, consumers, clustering, production

发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

2026年9月24日

分类

未分类

许可证

MIT

源路径

skills/messaging/rabbitmq

默认分支

main

最新提交

9496306

Tree SHA

fe4e2f1