springboot+rabbitmq2小时入门(纯注解)
文章平均质量分 70
我是一个写bug的程序员
这个作者很懒,什么都没留下…
展开
-
springboot+rabbitmq两小时入门(十):rabbitmq面试题
1、生产者发送失败怎么办,消费者消费失败怎么办?参考springboot+rabbitmq两小时入门(七):生产者发送失败和消费者消费失败处理。2、如何保证消息按顺序执行参考如何保证消息按顺序执行。3. 如何避免消息重复投递或重复消费?在消息生产时,MQ内部针对每条生产者发送的消息生成一个inner-msg-id,作为去重和幂等的依据(消息投递失败并重传),避免重复...原创 2019-08-12 15:33:10 · 1228 阅读 · 0 评论 -
springboot+rabbitmq两小时入门(九):如何保证消息按顺序执行
下面1到3是摘自https://cloud.tencent.com/developer/article/1469388,红字是订正过后的,4是自己总结的。1.为什么要保证顺序消息队列中的若干消息如果是对同一个数据进行操作,这些操作具有前后的关系,必须要按前后的顺序执行,否则就会造成数据异常。举例: 比如通过mysql binlog进行两个数据库的数据同步,由于对数据库的数据操作是具有顺序性...原创 2019-08-12 15:33:02 · 4987 阅读 · 2 评论 -
springboot+rabbitmq两小时入门(八):死信交换机
概要:对于消费失败、消息过期、队列超载的消息,我们可以通过给队列(queue)配置x-dead-letter-exchange和x-dead-letter-routing-key属性,将另一个交换机关联为这个队列(queue)的死信交换机(Dead letter exchange),并把消息转发过去。该队列所有Nack、Reject、消息过期、队列超载的消息都会自动投递到死信交换机。...原创 2019-08-09 12:12:03 · 1642 阅读 · 0 评论 -
springboot+rabbitmq两小时入门(七):生产者发送失败和消费者消费失败处理
消息队列经常会发送失败和消费失败,这两种问题在日常工作中式不可忽视的。消息发送失败情况:1、网络抖动导致生产者和mq之间的连接中断,导致消息都没发。答:rabbitmq有自动重连机制,叫retry。具体到rabbitTemplate中叫retryTemplate,可以通过设置retryTemplate来设置重连次数。 1.1、到了重连次数了,还是没连上怎么办呢?造成...原创 2019-08-09 12:12:35 · 9297 阅读 · 17 评论 -
springboot+rabbitmq两小时入门(六):延时交换机
概要:外卖软件中的超时未接单、超时未支付、超时未上门、超时自动确认等功能非常适合通过延时交换机(Delayed message exchange)实现。延迟交换机有2种实现方法,一种是用死信交换机,一种是安装插件(推荐),这里写的插件方式实现。Windows配置:在rabbitmq 3.5.7及以上的版本提供了一个插件(rabbitmq-delayed-message-exc...原创 2019-08-09 12:13:09 · 1126 阅读 · 0 评论 -
springboot+rabbitmq两小时入门(五):Topic交换机
概要:主题交换机,所有符合的routingkey都可以匹配。这种模式下的routingkey必须是由点分开的一串单词。可以由多个单词,但是有最大限制。最大限制是:255bytes。 匹配规则: *:表示匹配任意一个单词 #:表示匹配任意一个或多个单词。application.properties配置...原创 2019-08-09 12:13:44 · 379 阅读 · 0 评论 -
springboot+rabbitmq两小时入门(四):fanout交换机
概要:广播交换机,忽略routingkey,把所有发送到当前交换机的消息全部路由到所有与当前交换机绑定的队列中去。application.properties配置:spring.rabbitmq.host=localhost# TCP/IP端口为5672,http端口为15672spring.rabbitmq.port=5672spring.rabbitmq.user...原创 2019-08-09 12:14:18 · 611 阅读 · 0 评论 -
springboot+rabbitmq两小时入门(三):多重绑定
概要:rabbitmq中,一个queue可以绑定多个routingkey,一个routingkey可以绑定多个queue。(下面demo演示的是一个queue可以绑定多个routingkey)application.properties配置:spring.rabbitmq.host=localhost# TCP/IP端口为5672,http端口为15672spring.r...原创 2019-08-09 12:14:49 · 1907 阅读 · 0 评论 -
springboot+rabbitmq两小时入门(二):消费者多线程
概要:消费一条消息往往比产生一条消息慢很多,为了防止消息积压,一般需要开启消费者多线程同时消费消息。application.properties配置:spring.rabbitmq.host=localhost# TCP/IP端口为5672,http端口为15672spring.rabbitmq.port=5672spring.rabbitmq.username=ro...原创 2019-08-09 12:15:20 · 11755 阅读 · 12 评论 -
springboot+rabbitmq两小时入门(一):rabbitmq简介
作用:1、异步处理提高系统性能(生产者只管把消息发出去,消费者什么时候消费,生产者不用管)。2、降低系统耦合性。3、流量削峰,高并发下,mq作为临时容器将消息存起来,消费者根据数据库的能力采取拉模式拉取所有消息然后分页执行。4、消息分发,通过扇型交换机(Fanout exchange)或者多重绑定,可以将消息发给多个队列。5、延时任务,比如超时未支付等通过延时交换机(Delay...原创 2019-08-09 12:17:03 · 827 阅读 · 0 评论