每天早上七点三十分,准时推送干货
最近一直在学习RabbitMQ,但是不知如何在实际业务中撸出它的功效,最近刚好看到一篇相关案例,有一些心得,想和小伙伴们分享一下!
一、先来一张 RabbitMQ 流程图
本文内容主要围绕这个流程图展开,利用 RabbitMQ 消息队列,实现生产者与消费者解耦,所以有必要先贴出来,涵盖了 RabbitMQ 很多知识点,如:
消息发送确认机制
消费确认机制
消息的重新投递
消费幂等性, 等等
二、实现思路
1.在虚拟机创建一个CentOS7上,并安装 RabbitMQ
2.开放QQ邮箱或者其它邮箱授权码,用于发送邮件
3.创建邮件发送项目并编写代码
4.发送邮件测试
5.消息发送失败处理
三、RabbitMQ安装
RabbitMQ 基于 erlang 进行通信,相比其它的软件,安装有些麻烦,不过本例采用rpm
方式安装,任何新手都可以完成安装,过程如下!
3.1、安装前命令准备
输入如下命令,完成安装前的环境准备。
yum install lsof build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz wget vim
3.2、下载 RabbitMQ、erlang、socat 的安装包
本次下载的是RabbitMQ-3.6.5
版本,采用rpm
一键安装,适合新手直接上手。
先创建一个rabbitmq
目录,本例的目录路径为/usr/app/rabbitmq
,然后在目录下执行如下命令,下载安装包!
下载erlang
wget www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.centos.x86_64.rpm
下载socat
wget http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm
下载rabbitMQ
wget www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-3.6.5-1.noarch.rpm
最终目录文件如下:
3.3、安装软件包
下载完之后,按顺序依次安装软件包,这个很重要哦~
安装erlang
rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm
安装socat
rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm
安装rabbitmq
rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm
安装完成之后,修改rabbitmq
的配置,默认配置文件在/usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin
目录下。
vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin/rabbit.app
修改loopback_users
节点的值!
最后只需通过如下命令,启动服务即可!
rabbitmq-server start &
运行脚本之后,如果报错,例如下图!
![](https://i-blog.csdnimg.cn/blog_migrate/91ea6d1ca3e5e13da7519011dc8217e7.png)
解决办法如下:
vim /etc/rabbitmq/rabbitmq-env.conf
在文件里添加一行,如下配置!
NODENAME=rabbit@localhost
然后,再保存!再次以下命令启动服务!
rabbitmq-server start &
通过如下命令,查询服务是否启动成功!
lsof -i:5672
如果出现5672
已经被监听,说明已经启动成功!