mcpField
R
rabbitmq

rabbitmq

github.com/claude-dev-suite开发4651 次安装2 天前更新
代码仓库

关于 rabbitmq

面向 RabbitMQ 开发者的核心知识技能,涵盖消息路由、队列配置、生产环境注意事项与故障排查,并提供进一步查阅文档的入口。

主要功能

  1. 01讲解交换机、队列与绑定
  2. 02说明四类交换机路由方式
  3. 03介绍队列参数与消息过期
  4. 04列出反模式及应对措施
  5. 05提供常见问题排查建议

适用场景

  1. 01设计消息路由与队列结构
  2. 02检查 RabbitMQ 生产环境配置
  3. 03排查积压或未路由消息

MCP 相关

README 提到可通过 mcp__documentation__fetch_docs 获取 RabbitMQ 的深入文档;未说明该技能本身如何连接 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。

深入了解:使用 mcp__documentation__fetch_docs,并将技术设为:rabbitmq,以获取全面的文档。

快速开始(Docker)

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

核心概念

概念说明
交换机将消息路由到队列
队列用于存储消息的缓冲区
绑定将交换机连接到队列的规则
路由键用于路由的消息属性

架构

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有毒消息会无限循环配置死信交换机
自动确认崩溃时消息会丢失使用手动确认
未启用发布者确认消息会静默丢失为关键消息启用确认

快速故障排查

问题可能原因修复方法
消息堆积消费者处理缓慢或已停止检查消费者数量和处理情况
内存使用率高未确认的消息过多降低预取量,增加消费者
消息未路由路由键错误检查交换机与队列的绑定
消息重复消费者在确认前崩溃实现幂等处理
发布者确认超时Broker 过载降低发布速率

生产环境检查清单

  • 已启用 TLS/SSL
  • 用户遵循最小权限原则
  • 使用虚拟主机实现隔离
  • 使用 quorum 队列实现 HA
  • 已配置死信交换机
  • 已设置消息 TTL
  • 已配置预取限制
  • 已启用发布者确认
  • 已设置监控仪表板
  • 已配置告警

参考文档

可用主题:basics、exchanges、queues、consumers、clustering、production

评论

支持 Markdown