1.什么MQ?
2.MQ的作用
2.1. 应用解耦
一个业务需要多个模块共同实现,或者一条消息有多个系统需要对应处理,只需要主业务完成以后,发送一条MQ,其余模块消费MQ消息,即可实现业务,降低模块之间的耦合。
2.2. 异步提速
主业务执行结束后从属业务通过MQ,异步执行,减低业务的响应时间,提高用户体验。
2.3.削锋填谷
高并发情况下,业务异步处理,提供高峰期业务处理能力,避免系统瘫痪。
3.MQ缺点
3.1.系统可重用性降低
系统可用性降低。依赖服务越多,服务越容易挂掉。需要考虑MQ瘫痪的情况
3.2.系统复杂度提高
3.3. 一致性问题
4.如何选择MQ
5.MQ得种类
6.RabbitMQ
6.1.什么是rabbitMQ
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。
6.2安装RabbitMQ
6.2.1.安装Socat
在线安装依赖环境:
yum install gcc
yum install socat
yum install openssl
yum install openssl-devel
6.2.2.安装Erlang
mkdir /rabbitmq && cd /rabbitmq --创建文件夹来放我们的rabbitMQ和erlang
# 安装
rpm -ivh erlang-22.0.7-1.el7.x86_64.rpm
6.2.3.安装RabbitMQ
# 安装
rpm -ivh rabbitmq-server-3.7.17-1.el7.noarch.rpm
6.2.4.开启管理界面及配置
# 开启管理界面
rabbitmq-plugins enable rabbitmq_management# 配置远程可使用guest登录mq
cd /usr/share/doc/rabbitmq-server-3.7.17cp rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
# 修改配置文件
vi /etc/rabbitmq/rabbitmq.config进入之后输入 :set number 显示行号
6.2.5.启动rabbitMQ
centos6用这个命令:
/sbin/service rabbitmq-server restartcentos7用这个命令:
systemctl start rabbitmq-server
6.2.6.登录rabbitMQ
RabbitMQ在安装好后,可以访问http://ip地址:15672
;其自带了guest/guest的用户名和密码;如果需要创建自定义用户;那么也可以登录管理界面后,如下操作: