1.springboot整合rabbitMQ
1.1 springboot整合rabbitMQ消费者
1.导入pom.xml依赖
2.定义队列,交换机,队列绑定交换机关系
3.定义springboot启动类
4. 创建测试springboot启动类
#rabbitMQ主要依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
1.2 springboot整合rabbitMQ消费者
1.导入pom.xml依赖
2.定义监听器
3.定义springboot启动类
1.3 消息可靠性保证-消息确认和返回机制
producer->broker->exchange过程可以使用消息确认机制判断交换机是否接收到。
exchange->queue过程可以使用消息返回机制判断队列是否存在,不存在还可以退回,我们可以做一些日志持久化的操作保证消息可靠性。
消费端还有一种默认签收机制,签收机制参数默认有三种:
"manual":手动签收 none-自动签收 auto-根据异常情况签收异常也可以选择拒收,拒收以后会返回queue,broker会继续返回给消费者。
1.3.1 实战讲解
消费者服务springboot-rabbitmq-consumer-advanced
启动类:App,监听类:AckListener
生产者服务springboot-rabbitmq-advanced
启动类:ProducerAdvancedTest-testConfirmCallback(测试生产者调用交换机测试案例)ProducerAdvancedTest-testReturnCallback(交换机调用队列)
1.4 限流
设置限流需要设置消费端配置文件spring-rabbitmq-consumer.xml中得prefetch参数,表示消费者每次抓取多少消息。
1.4.1 限流实战案例讲解
消费者服务springboot-rabbitmq-consumer-advanced
启动类:App,监听类:QosListener
spring-rabbitmq-consumer.xml-prefetch参数代表每次拉取多少消息
生产者服务springboot-rabbitmq-advanced
启动类:ProducerAdvancedTest-testQosListener(测试限流)
1.5 rabbit-ttl
延时队列,在rabbitmq得页面可以设置,在建立队列时设置最多保持几秒失效参数。
1.建立交换机 2.建立队列,设置ttl参数 3. 绑定队列到交换机 4. 发布消息 5.测试消息失效