1. 消息队列是什么?
当用户注册成功后,就发送邮件。当邮件发送成功了,接口才会提示注册成功信息。但由于发送邮件,依赖于其他厂商的服务,有可能他们的接口会非常耗时。那么用户就一直要等着邮件发送成功了,才提示注册成功。因为耗时很长,这样就会造成很糟糕的体验。
然后大家想一想,我们到底有没有必要等着邮件发送完成呢?就好比大家去邮局寄信,当你把信丢入邮筒里,你需要一直等着信送到别人手里,然后你再离开吗?
当然不需要,只要将信丢入邮筒,我们人就可以离开了。因为你知道,在将来的某个时候,你的信就会被寄到收件人手里。
消息队列,就好比是这里寄信的过程!消息队列由三部分构成:

- 生产者(Producer):创建并发送消息,相当于去邮局寄信的人。
- 队列(Queue):用来存放消息的,将消息从生产者传递到消费者,就相当于邮局了。邮局收到你的任务后,它去处理是需要排队的。按照先进先出的原则,需要等其他先来的任务处理完了,才会处理你的任务。
- 消费者(Consumer):接收并处理消息的人。当邮局把信送到他手里了,收到消息了,最终处理任务的人。
还是以我们注册功能为例。当用户注册成功了,我们就通知RabbitMQ,你去发个邮件,然后就直接提示用户注册成功。我们完全没有必要等待邮件发送完成。
接着再写一个程序去接收消息,当它收到消息了,就去执行发邮件任务了。
所以,生产者、消费者,都是我们要写的程序。一个负责提交任务,另一个负责处理任务。互相之间通信,就靠中间的RabbitMQ。
2. 安装
2.1. 使用 Docker
当然,我最推荐的还是用Docker,因为太方便了,大家打开docker-compose.yml。增加RabbitMQ的配置,注意缩进非常重要,一定要和之前的MySQL和Redis的配置对齐
services:
mysql:
# ....
redis:
# ....
rabbitmq:
image: rabbitmq:4.0-management
ports:
- "5672:5672"
- "15672:15672"
volumes:
- ./data/rabbitmq:/var/lib/rabbitmq # 持久化数据
environment:
RABBITMQ_DEFAULT_USER: admin
RABBITMQ_DEFAULT_PASS: xw
- 我们这里使用的
RabbitMQ版本号是:4.0。 - 将RabbitMQ运行的默认端口
5672和15672,映射到本机上。 - 其中
15672是RabbitMQ自带的管理后台端口号。 - 接着将
RabbitMQ的用来持久化数据的备份数据,映射到项目根目录的data/rabbitmq目录中。 - 最下面的是
RabbitMQ用来连接的账号密码,大家可以根据需要自己设置。
完成后,命令行,再次运行
docker-compose up -d
这样Docker,就会自动下载,并启动好RabbitMQ。

2.2. 直接安装
对于部分Windows上用不了Docker的同学,那就有点麻烦了。因为既要安装Erlang,又要安装RabbitMQ。这里附上下载地址:
-
Erlang下载地址:https://www.erlang.org/downloads
-
-
RabbitMQ下载地址:https://www.rabbitmq.com/docs/install-windows#downloads
-

对于这种安装方式,如果在安装过程出现了各种问题,请来讨论群中和我讨论。总而言之,我还是推荐大家尽可能,想办法将Docker跑通。
2.3.1 安装完Erlang和RabbitMQ后,添加环境变量
打开环境变量设置窗口: 右键点击 “
此电脑”,选择 “属性”。 在弹出的窗口中,点击 “高级系统设置”。 在 “系统属性” 窗口中,点击 “环境变量” 按钮。 添加RabbitMQ命令路径到系统的 Path 变量: 在 “系统变量” 列表中找到 “Path” 变量,选中它并点击 “编辑” 按钮。 在弹出的 “编辑环境变量” 窗口中,点击 “新建”,然后将RabbitMQ 的 sbin目录路径添加进去,
例如C:\Program Files\RabbitMQServer\rabbitmq_server-<version>\sbin。注意要将 替换为你实际安装的 RabbitMQ 版本号。 点击 “确定” 保存设置,依次关闭所有窗口具体选择你自己安装的路径>。
2.3.2 通过命令行(管理员)安装rabbitmq_management 插件
RabbitMQ 的管理界面依赖于rabbitmq_management 插件
rabbitmq-plugins enable rabbitmq_management
2.3.3 通过命令行(管理员)运行
rabbitmq-service start
2.3. RabbitMQ 管理后台
启动好后,稍等个几秒钟,用浏览器访问:http://127.0.0.1:15672/,就能进入RabbitMQ的管理界面了

最低0.47元/天 解锁文章
1768

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



