微信登录

RabbitMQ教程

2007年发布
180功能
版本3.13.0
使用费用:free、fee
版权Mozilla Public License 2.0 (MPL-2.0)
开发语言:Erlang

环境配置

架构

  • x86
  • x64
  • arm64
  • ppc64le

支持系统

  • Windows
  • Linux
  • macOS
  • freebsd
  • solaris

包类型

  • exe
  • msi
  • zip
  • tar.gz
  • deb
  • rpm
  • docker

是否重启生效

软件特点

  • AMQP协议实现
  • 消息队列中间件
  • Erlang语言开发
  • 高可用集群部署
  • 消息持久化存储
  • 死信队列机制
  • 交换机/队列路由
  • 发布订阅模式
  • 路由模式分发
  • 主题模式匹配
  • 消息确认机制
  • 限流/重试策略

详细信息

开发者:

Rabbit Technologies (VMware旗下)

安装大小:

Windows约150MB,Linux/mac约120MB(含Erlang)

运行速度:

单节点:约10万条/秒消息处理(小消息)

依赖包:

Erlang/OTP

Windows安装路径:

C:\Program Files\RabbitMQ Server

Mac安装路径:

/usr/local/Cellar/rabbitmq

Linux安装路径:

/usr/lib/rabbitmq

Windows配置文件路径:

C:\Program Files\RabbitMQ Server\rabbitmq.conf

Mac配置文件路径:

/usr/local/etc/rabbitmq/rabbitmq.conf

Linux配置文件路径:

/etc/rabbitmq/rabbitmq.conf

输入速度:

消息生产:约80MB/s(单节点)

输出速度:

消息消费:约70MB/s(单节点)

GUI 软件名:

RabbitMQ Management UIVisual Studio Code + RabbitMQ插件IntelliJ IDEA + RabbitMQ插件MQTT.fx(消息调试)Postman(API调试)Prometheus + Grafana(监控)ELK Stack(日志分析)

功能列表:

消息发布/订阅/路由分发队列创建/绑定/删除管理交换机(直连/主题/扇出/头)配置消息持久化(磁盘/内存)设置死信队列(DLX)配置与使用延迟队列实现定时消息集群搭建与节点管理镜像队列实现高可用消息确认(生产者/消费者)机制限流(QoS)与消息预取配置用户/权限/虚拟主机管理监控指标(吞吐量/延迟/错误)查看

必会要点

1掌握RabbitMQ安装部署(单机/集群)与环境配置
2熟悉Erlang/OTP依赖安装与版本匹配规则
3理解AMQP协议核心概念(交换机/队列/绑定/消息)
4掌握交换机类型(直连/主题/扇出/头)的使用场景
5熟悉消息生产/消费流程与客户端SDK接入(Java/Python)
6理解消息持久化(队列/消息)配置与数据安全保障
7掌握死信队列(DLX)配置与消息过期/拒收处理
8熟悉生产者确认(Publisher Confirms)机制实现
9理解消费者确认(ACK/NACK)与消息重发策略
10掌握限流(QoS)配置与消费速度控制方法
11熟悉延迟队列实现方案(插件/死信队列)
12理解RabbitMQ集群搭建与镜像队列高可用配置
13掌握虚拟主机(vhost)与用户权限管理配置
14熟悉消息路由键(Routing Key)匹配规则与设计
15理解RabbitMQ监控指标(吞吐量/延迟/错误)采集
16掌握消息积压排查与消费性能优化方法
17熟悉RabbitMQ常见故障(网络/磁盘/节点)排查
18理解幂等性消费设计与重复消息处理方案
19掌握RabbitMQ与Spring Boot/Node.js等框架集成
20熟悉RabbitMQ性能调优(内存/磁盘/连接数)策略

与其他语言对比

1. RabbitMQ 功能丰富度比 Redis 消息队列更高
2. RabbitMQ 部署复杂度比 Redis 消息队列更高
3. RabbitMQ 消息可靠性比 Kafka 保障更完善
4. RabbitMQ 高吞吐性能比 Kafka 差很多
5. RabbitMQ 易用性比 RocketMQ 入门更简单
6. RabbitMQ 国产适配比 RocketMQ 支持度低
7. RabbitMQ 协议标准比 ZeroMQ 更规范
8. RabbitMQ 轻量级比 ZeroMQ 部署更重
9. RabbitMQ 集群易用性比 ActiveMQ 更高
10. RabbitMQ 社区活跃度比 ActiveMQ 更高