- 博客(7)
- 收藏
- 关注
原创 Springboot整合RabbitMQ TTL
一、前言TTL 全称 Time To Live(存活时间/过期时间)当消息到达存活时间后,还没有被消费,会被自动清除RabbitMQ可以对消息设置过期时间,也可以对整个队列(Queue)设置过期时间二、指定消息的过期时间消息推送到队列后,如果指定时间内没有被消费,则会自动过期;@SpringBootTestpublic class RabbitMQTest { @Autowired private RabbitTemplate rabbitTemplate;
2021-03-10 00:17:55
367
3
原创 Springboot整合RabbitMQ 死信队列
一、前言死信队列,英文缩写:DLX 。Dead Letter Exchange(死信交换机),当消息成为Dead message后,可以被重新发送到另一个交换机,这个交换机就是DLX。二、生产者代码创建RabbitMQ队列配置类com.example.rabbitmq_producer.config;@Configurationpublic class RabbitMQConfig { //交换机名称 public static final String ITEM_E
2021-03-10 00:17:07
899
原创 Springboot整合RabbitMQ 延迟队列
一、前言延迟队列,即消息进入队列后不会立即被消费,只有到达指定时间后,才会被消费。需求:下单后,30分钟未支付,取消订单,回滚库存。新用户注册成功7天后,发送短信问候。遗憾的是,在RabbitMQ中并未提供延迟队列功能,不过可以使用:TTL+死信队列 组合实现延迟队列的效果。二、生产者代码创建RabbitMQ队列配置类com.example.rabbitmq_producer.config;@Configurationpublic class Rabbit
2021-03-10 00:14:42
369
原创 Springboot整合RabbitMQ 消费端限流
一、前言请求瞬间增多,每秒5000个请求二、生产者代码创建RabbitMQ队列配置类com.example.rabbitmq_producer.config;@Configurationpublic class RabbitMQConfig { //交换机名称 public static final String ITEM_EXCHANGE = "item_exchange"; //队列名称 public static final String ITEM
2021-03-10 00:12:50
863
原创 Springboot整合RabbitMQ Ack
Springboot整合RabbitMQ Ack一、前言ack指Acknowledge,确认。 表示消费端收到消息后的确认方式。有三种确认方式:自动确认:acknowledge=“none”手动确认:acknowledge=“manual”根据异常情况确认:acknowledge=“auto”,(这种方式使用麻烦,不作讲解)其中自动确认是指,当消息一旦被Consumer接收到,则自动确认收到,并将相应 message 从 RabbitMQ 的消息缓存中移除。但是在实际业务处理
2021-03-08 23:06:15
860
1
原创 Springboot整合RabbitMQ 消息的可靠投递
Springboot整合RabbitMQ 消息的可靠投递一、前言在使用 RabbitMQ 的时候,作为消息发送方希望杜绝任何消息丢失或者投递失败场景。RabbitMQ 为我们提供了两种方式用来控制消息的投递可靠性模式。confirm 确认模式return 退回模式先了解rabbitmq 整个消息投递的路径:producer—>rabbitmq broker—>exchange—>queue—>consumer消息从 producer 到 exchang
2021-03-08 23:05:18
339
原创 Spring Boot整合RabbitMQ
一、开发中的大概过程生产者工程:application.yml文件配置RabbitMQ相关信息;在生产者工程中编写配置类,用于创建交换机和队列,并进行绑定注入RabbitTemplate对象,通过RabbitTemplate对象发送消息到交换机消费者工程:application.yml文件配置RabbitMQ相关信息创建消息处理类,用于接收队列中的消息并进行处理二、添加依耐和相应配置生产者、消费者一样需要配置导入坐标<?xml ve
2021-03-04 16:49:36
158
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人