RabbitMQ 宕机导致队列、队列中的消息丢失,相当于 RabbitMQ 弄丢消息 消费者消费出现异常,业务没执行,相当于消费者弄丢消息 生产者弄丢消息 RabbitMQ 提供了确认和回退机制,有一个异步监听机制,每次发送消息,如果成功/未成功发送到交换机都可以触发一个监听,从交换机路由到队列失败也会有一个监听。只需要开启这两...
确保消息可靠性时,比如创建订单,关键在于保证消息被正确消费。RabbitMQ通过确认和回退机制、异步监听来监控消息流程,一旦在交换机到队列的传递过程中出现问题,可以通过配置文件开启监听并编写回调来处理。企业可能会选择记录日志而不是重发,因为这涉及到额外的成本和延迟。RabbitMQ的消息持久化设置至关重要...
消息(堆积)积压 所谓消息积压一般是由于消费端消费的速度远小于生产者发消息的速度,导致大量消息在 RabbitMQ 的队列中无法消费。 其实这玩意我也不知道为什么面试这么喜欢问...既然消费者速度跟不上生产者,...点赞(0) 踩踩(0) 反馈 访问所需:1 积分 同意申明访问第三方链接 访问...
RabbitMQ 宕机导致队列、队列中的消息丢失,相当于 RabbitMQ 弄丢消息 消费者消费出现异常,业务没执行,相当于消费者弄丢消息 生产者弄丢消息 RabbitMQ 提供了确认和回退机制,有一个异步监听机制,每次发送消息,如果成功/未成功发送到交换机都可以触发一个监听,从交换机路由到队列失败也会有一个监听。只需要开启这两...
比如创建订单成功了,优惠券结算报错了,默认情况下 RabbitMQ 只要把消息推送到消费者就会认为消息已经被消费,就从队列中删除了,但是优惠券还没有结算,这样就相当于消息变相丢失了。这种情况还是很常见的,毕竟我们开发人员不能保证自己的代码不报错,这种问题一定得解决。 否则用户下了订单,...
实际上消息队列可以说是没法百分之百保证可靠性的!RabbitMQ 提供的相关机制也只是在于缩小消息丢失的概率,或者说提供了消息丢失后的我们可以记录日志的功能。在解决这些问题时有必要明白一点,其实小公司业务量不大,并发量不高的情况下这些问题是几乎不会发生的...即使偶尔出现,开发人员手动修复数据处理就好。所以可结合...