一、概述




二、RabbitMQ概念




三、Docker安装RabbitMQ

docker安装RabbitMQ的命令
docker run -d --name rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:management
运行成功
[root@localhost vagrant]# docker run -d --name rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:management
Unable to find image 'rabbitmq:management' locally
management: Pulling from library/rabbitmq
7b1a6ab2e44d: Downloading [====================> ] 11.48MB/28.57MB
37f453d83d8f: Download complete
e64e769bc4fd: Downloading [==> ] 2.549MB/50.93MB
c288a913222f: Download complete
12addf9c8bf9: Downloading [=> ] 337kB/16.77MB
eaeb088e057d: Waiting
b63d48599313: Waiting
05c99d3d2a57: Waiting
43665bfbc3f9: Waiting
f14c7d7911b1: Waiting
设置自动重启
docker update rabbitmq --restart=always
浏览器访问rabbitmq的地址,账户、密码默认是 guest
http://192.168.56.10:15672/


新装MQ想导入老的MQ配置

connections监控当前有多少个客户端跟mq有连接。注意:一个客户端,跟她只有一个连接

Channels收发信息需要建立很多通道

Exchanges交换机

Queen队列,当前交换机有多少个队列

管理设置功能:用户信息、虚拟主机(使用路径来分/或/a或/a/b,不同的路径对应不同的设置)、特性、策略、限制、集群

测试交换机和队列的使用
删除交换机


四.RabbitMQ运行机制

路由键的完全匹配

fanout扇出:广播的方式,根本不关注路由键是什么,无条件将所有消息发给绑定它的队列

topic发布订阅模式,最复杂的交换机,主体交换机,可以挑选发送

发消息是发给交换机(Exchanges),监听消息是监听队列(Queues),交换机将消息交给队列,监听队列的人都会拿到消息

交换机必须跟队列绑定才能进行工作,消息要发给交换机,点进交换机
绑定队列
- 创建队列

- 绑定(交换机可以绑定交换机也可以绑定队列)

参照文档创建不同的交换机,并绑定他们不同的关系

创建交换机: Exchange: exchange.direct
- 创建队列:atguigu、atguigu.emps、atguigu.news、gulixueyuan.news
- 交换机绑定队列

给交换机发送消息
- 给atguigu.news发送消息





新版中没有这个选项

换成了这个

测试扇出型交换机-Fanout-Exchange
- 添加扇出型交换机

- 绑定队列

- 发送消息(无论路由键是什么,都会收到消息)

- 看到所有队列都收到消息了


测试主题交换机Topic
- 添加主题交换机

- 绑定队列



- 测试
*.

- 只有*.news接收到

- 测试
atguigu.#


本文介绍了如何通过Docker安装RabbitMQ,包括启动、管理、迁移配置以及RabbitMQ的基本运行机制,如路由键、交换机和队列的使用。
3147

被折叠的 条评论
为什么被折叠?



