springboot RabbitMQ 使用
参考
https://blog.csdn.net/hellozpc/article/details/81436980
比kafka简单;
多个接收者,实现解耦,实现不同数据库的同步,
只能消费一次实现数据的一致性;
AMQP:advanced mssage queuing protocol 高级消息队列协议
简单rabbitMQ的安装和配置
1.先安装对应的erLong语言包;
2.安装RabbitMQ;
3.基本操作;
D:\rabbitMQ\rabbitMQ\rabbitmq_server-3.7.9\sbin目录下
执行rabbitmq-plugins enable rabbitmq_management 启动Rabbit插件和rabbit;
停止服务:net stop RabbitMQ
启动服务:net start RabbitMQ
启动监控管理器:rabbitmq-plugins enable rabbitmq_management
关闭监控管理器:rabbitmq-plugins disable rabbitmq_management
启动rabbitmq:rabbitmq-service start
关闭rabbitmq:rabbitmq-service stop
查看所有的队列:rabbitmqctl list_queues
清除所有的队列:rabbitmqctl reset
关闭应用:rabbitmqctl stop_app
启动应用:rabbitmqctl start_app
默认账号登录:guest/ guest
管理工具端口号:http://127.0.0.1:15672/#/queues
AMQP端口号:5672
集群端口号:25672
4.创建user,创建virtualHost,user加入virtualHost;
创建连接;
五种队列
都需要整合springboot;
rabbitMQ工作的五种队列,或五种工作模式;(简单队列,work模式,订阅模式,路由模式,)
下面介绍常用两种;
五种队列之简单队列(一对一PC模式)
发送消息
Connection connection = rabbitConfig.getConnection();
Channel channel = connection.createChannel();
channel.queueDeclare(QUEUE_NAME,false,false,false,null);
channel.basicPublish("",QUEUE_NAME,null,message.getBytes());//推送消息到队列中
channel.close();
connection.close();
接收消息
Connection connection = rabbitConfig.getConnection();
Channel channel = connection.createChannel();
channel.queueDeclare(QUEUE_NAME,false,false,false,null);
QueueingConsumer consumer = new QueueingConsumer(channel);//在通道中建立消费者
channel.basicConsume(QUEUE_NAME,true,consumer);//消费者消费消息
QueueingConsumer.Delivery delivery = consumer.nextDelivery();//从消费者中拿到消息
String message = new String(delivery.getBody());
五种队列之订阅模式(具体配置详见参考)
先创建配置文件(定义消息队列,定义转换机,配置消息队列和转换机)
在配置监听器,监听队列中的消息;
处理消息业务;
springboot 配置rabbitMQ
spring:
rabbitmq:
host: ${rabbit-uri:xxx.xx.x.xx}
port: ${rabbit-port:5672}
username: ${rabbit-username:guest}
password: ${rabbit-password:guest}
virtual-host: /
# 设置消息的确认模式为auto
listener:
simple:
acknowledge-mode: auto
retry:
## 开启消费者重试
enabled: true
##最大重试次数(默认无限重试,会导致宕机)
max-attempts: 5
##重试间隔次数
initial-interval: 3000
- Springboot+rabbitmq的简单使用
- SpringBoot+rabbitMq的配置和使用Demo
- springboot RabbitMq的安装以及使用
- SpringBoot + RabbitMQ 使用Demo
- Spring Boot轻易使用MQ
- springboot+rabbitmq例子
- SpringBoot+RabbitMQ整合+简单实例
- Spring Boot RabbitMQ快速入门 (1)
- springboot+rabbitmq 整合实例
- Springboot+rabbitmq实现延时队列的两种方式
- springboot+rabbitmq整合
- 集群与负载均衡系列(6)——消息队列之rabbitMQ+spring-boot+spring amqp发送可靠的消息
- spring boot Rabbitmq集成,延时消息队列实现
- SpringBoot RabbitMQ 整合进阶版
- springboot+RabbitMQ+InfluxDB+Grafara监控实践
- springboot+rabbitmq集成
- springboot + rabbitmq 消费者消息确认 (Ack)
- rabbitmq springboot 2
- SpringBoot RocketMQ 整合使用和监控
- springboot+rabbitmq整合示例程