MQ, message queue 消息队列,FIFO规则,先入先出
三大功能
1、流量消峰
2、应用解耦
3、异步处理
MQ相当于是一个快递站,它不处理快递,只管接收和发布!
MQ核心部分
1、简单模式
2、工作模式
3、发布订阅模式
4、路由模式
5、主题模式
6、发布确认模式
安装MQ
先安装erlang 再安装 socat 再安装rabbitmq
rpm -ivh erlang-21.3-1.el7.x86_64.rpm
yum install socat -y
rpm -ivh rabbitmq-server-3.8.8-1.el7.noarch.rpm
添加开机自启动
chkconfig rabbitmq-server on
启动服务
/sbin/service rabbitmq-server start
开启管理界面
先停止mq服务
/sbin/service rabbitmq-server stop
再开启web管理插件
rabbitmq-plugins enable rabbitmq_management
管理界面 IP:15672
添加账户并设置权限
创建用户
rabbitmqctl add_user admin admin
设置用户角色
rabbitmqctl set_user_tags admin administrator
设置用户权限
rqbbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
含义: set_permissions [-p <vhostpath>] <user> <conf> <write> <read>
查看用户列表
rabbitmqctl list_users
依赖
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>5.16.0</version>
</dependency>
生产者代码
public static final String QUEUE_NAME = "hello";
public static void main(String[] args) {
//创建一个连接工厂
ConnectionFactory factory = new ConnectionFactory();
//工厂IP 连接MQ的队列
factory.setHost("127.0.0.1");
//用户名
factory.setUsername("admin");
//密码
factory.setPassword("admin");
}