1.什么是MQ
MQ全称 Message Queue(消息队列),是在消息的传输过程中保存消息的容器。多用于分布式系统之间进行通信。
2.MQ的优缺点
(1)优点
应用解耦:提高系统容错性和可维护性
异步提速:提升用户体验和系统吞吐量
削峰填谷:提高系统稳定性
(2)缺点
系统可用性降低
系统引入的外部依赖越多,系统稳定性越差。一旦 MQ 宕机,就会对业务造成影响。如何保证MQ的高可用?
系统复杂度提高
MQ 的加入大大增加了系统的复杂度,以前系统间是同步的远程调用,现在是通过 MQ 进行异步调用。
如何保证消息没有被重复消费?怎么处理消息丢失情况?那么保证消息传递的顺序性?
一致性问题
A 系统处理完业务,通过 MQ 给B、C、D三个系统发消息数据,如果 B 系统、C 系统处理成功,D 系统处理失败。
如何保证消息数据处理的一致性?
3.常见的MQ
4.rabbitMQ的安装与配置
1.安装rabbitmq的依赖环境
yum install -y gcc socat openssl openssl-devel
2.安装erlang 和 rabbitMQ
(需要先将erlang和rabbitMQ的rpm包传输到linux文件夹中,然后采用以下命令安装)
rpm -ivh erlang-22.0.7-1.el7.x86_64.rpm
rpm -ivh rabbitmq-server-3.7.17-1.el7.noarch.rpm
3.开启管理界面及配置,即网页可视化界面
rabbitmq-plugins enable rabbitmq_management
开设一个用户用来访问rabbitMQ
进入rabbitMQ的配置目录
cd /usr/share/doc/rabbitmq-server-3.7.17
cp rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
4.修改rabbitmq.config配置文件
使用rabbitmq-plugins enable rabbitmq_management开启
5.开启rabbitMQ服务器
systemctl start rabbitmq-server
在浏览器中输入ip地址加:15672
如果出现如下界面,则表示rabbitMQ启动成功,默认密账号和密码都为guest