中间件
文章平均质量分 80
代码路上的不归者_bugz
一只正在学习的菜鸟程序员
展开
-
RabbitMQ:MQ的可靠性
从RabbitMQ的3.6.0版本开始,就增加了LazyQueue的概念,也就是惰性队列。在默认情况下,RabbitMQ会将接收到的信息保存在内存中以降低消息收发的延迟。消费者要消费消息时才会从磁盘中读取并加载到内存(可以提前缓存部分消息到内存,最多2048条)内存空间有限,当消费者故障或处理过慢时,会导致消息积压,引发MQ阻塞。在3.12版本后,所有队列都是Lazy Queue式,无法更改。接收到消息后直接存入磁盘,不再存储到内存。一旦MQ宕机,内存中的消息会丢失。原创 2024-08-01 22:30:52 · 202 阅读 · 0 评论 -
RabbitMQ发送者重连、发送者确认
发送者可靠性原创 2024-08-01 20:28:22 · 384 阅读 · 0 评论 -
RabbitMQ五种常见消息模型
兔子MQ原创 2023-04-16 23:15:33 · 278 阅读 · 0 评论 -
RabbitMQ常见问题以及实际问题解决
当生产者发送消息的速度超过了消费者处理消息的速度,就会导致队列中的消息堆积,直到队列存储消息达到上限。最早接收到的消息,可能就会成为死信,会被丢弃,这就是消息堆积问题。RabbitMQ支持消费者确认机制,即:消费者处理消息后可以向MQ发送ack回执,MQ收到ack回执后才会删除该信息。我们可以利用Spring的retry机制,在消费者出现异常时利用本地重试,而不是无限制的requeue到mq队列。消息可靠性问题: 消息从生产者发送到Exchange,再到queue,再到消费者,有哪些导致消息丢失的可能性?原创 2023-04-20 20:11:07 · 5203 阅读 · 0 评论