1,MQ 相关介绍
1.1 什么是MQ
MQ(Message Queue)消息队列,是基础数据结构中“先进先出”的一种数据结构。一般用来解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构
1.2、MQ主要解决的问题
- 任务异步处理
- 应用程序的解耦合
- 削峰填谷
1.3、Mq的主要协议以及常见的消息队列
- AMQP (高级消息队列协议) ,跨语言。
- JMS (Java 消息服务),仅Java平台。
常见的消息队列框架
- 1,ActiveMQ (Jms)
- 2,ZeroMQ (基于C语言开发)
- 3,RabbitMQ(AMQP) 稳定性好
- 4,RocketMQ (JMS 阿里产品)
- 5,kafka 一个类MQ 分布式消息队列,高吞吐量性能好。
1.4、RabbitMQ的模式(5+1):
二、Linux下安装 RabbitMQ
环境 CentOS7、erlang-22.1-1.el7.x86_64.rpm、rabbitmq-server-3.7.17-1.el7.noarch.rpm
2.1安装依赖环境
yum install gcc
yum install socat
2.2 安装Erlang
在home 目录下创建 rabbitmq文件夹,在该目录下 上传 erlang的安装包
安装:rpm -ivh erlang-22.1-1.el7.x86_64.rpm
2.3 安装 rabbitmq
rpm -ivh rabbitmq-server-3.7.17-1.el7.noarch.rpm
2.4 开启管理界面配置
rabbitmq-plugins enable rabbitmq_management
修改配置文件
cd /usr/share/doc/rabbitmq-server-3.7.17/
cp rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
vi /etc/rabbitmq/rabbitmq.config
修改图位置,去掉前面双百分号,以及行最后的逗号,退出保存。
2.5 启动RabbitMQ
centos 7下命令:systemctl start rabbitmq-server
查看是否启动成功:
systemctl status rabbitmq-server
2.6 登录配置界面,配置虚拟主机以及用户
http://ip:15672 进行访问登陆界面,默认用户 guest 密码 guest