CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
RabbitMQ 入门/课时/Docker 运行 RabbitMQ
RawBlame
课时目录12 节

RabbitMQ 入门

  1. 01RabbitMQ 是什么
  2. 02核心概念
  3. 03Docker 运行 RabbitMQ
  4. 04发布与消费
  5. 05Exchange 类型
  6. 06Spring AMQP
  7. 07可靠性与死信
  8. 08常见模式
  9. 09RabbitMQ vs Kafka
  10. 10监控与管理
  11. 11Compose 联调
  12. 12综合练习

Docker 运行 RabbitMQ

management 插件、15672 控制台。

25 分钟

Docker 运行 RabbitMQ

本地实验用 官方 rabbitmq:3-management 镜像 即可:5672 走 AMQP,15672 打开 Management UI。与 kafka-install 类似,Broker 独立容器,Spring Boot 应用另起进程联调。

学习目标

  • 用 Docker 启动带 management 插件的 RabbitMQ
  • 登录控制台创建用户、vhost、测试队列
  • 配置 Spring Boot spring.rabbitmq.* 连接参数

核心内容

快速启动

docker run -d --name rmq-lab \
  -p 5672:5672 -p 15672:15672 \
  -e RABBITMQ_DEFAULT_USER=coderoadmap \
  -e RABBITMQ_DEFAULT_PASS=lab123 \
  rabbitmq:3-management

浏览器打开 http://localhost:15672,默认用户即上面环境变量。在 Queues 页可手动 Publish / Get Message 验证通路。

健康检查直觉

指标含义
Ready messages等待消费
Unacked已投递未 ack
Publish rate入队速率
Consumer utilisation消费者是否跟得上

队列 Ready 持续堆积 说明 Worker 不足或处理过慢;与 Kafka Consumer Lag(kafka-monitor)同类问题,排查方向是扩容消费者或优化处理逻辑。

Spring Boot 连接

spring:
  rabbitmq:
    host: localhost
    port: 5672
    username: coderoadmap
    password: lab123
    virtual-host: /

在 spring-boot-essentials 项目加 spring-boot-starter-amqp,Profile dev,rmq 启用;主站无 Broker 时不激活。Redis 连接配置见 redis-install,二者可并存。

常见踩坑

  • 容器重启后 非 durable 队列 会消失;实验队列建议 durable=true
  • guest 用户默认只能本机连;Docker 里务必改默认账号
  • Windows 防火墙拦截 5672 时,Spring 报 Connection refused

练习

  • 启动容器并在 UI 创建 coderoadmap.ping 队列,手动发一条消息
  • 在 Connections 页观察 Spring 应用连上后的 Channel 数
  • 对比 Kafka UI / CLI 与 RabbitMQ Management 各看哪些指标
  • 小结

    5672 跑协议、15672 管可视化——本地 lab 的标准组合。 下一课用 Java AMQP 客户端发布与消费。

    加载本节练习…
    ← 上一课核心概念下一课 →发布与消费