消息队列
文章平均质量分 94
消息队列
其乐无涯
这个家伙很懒~~~
展开
-
消息队列(一)-- RabbitMQ入门(4)
即使是持久化的消息,在被写入磁盘的同时也会在内存中驻留一份备份。消费者在消费MQ 中的消息时,MQ 已经把消息发送给消费者,消费者在给 MQ 返回 ack 时网络中断,故MQ 未收到确认消息,该消息会重新发给其他消费者,或网络重新连接后再次发给该消费者,但是实际上该消息已被消费过了,造成消费者重复消费同一条消息。引入镜像队列(Mirror Queue)的机制,可以将队列镜像到集群中的其他 Broker 节点之上,如果集群中的一个节点失效了,队列能自动地切换到镜像中的另一个节点上,保证服务的可用性。原创 2023-07-25 19:25:50 · 306 阅读 · 0 评论 -
消息队列(一)-- RabbitMQ入门(3)
延迟队列是用来存放需要在指定时间被处理的元素的队列。队列内部是有序的,最重要的特性就体现在它的延时属性上。使用场景:订单在十分钟之内未支付则自动取消。新建一个SpringBoot的Module添加依赖修改配置文件添加Swagger配置类队列TTL创建两个队列QA和QB,两者队列TTL分别设置为10S和40S,然后在创建一个交换机X和死信交换机Y,它们类型都是direct,创建一个死信队列QD,绑定关系如下图配置文件类生产者消费者运行项目,浏览器输入http://localhost:原创 2023-07-25 19:25:16 · 183 阅读 · 0 评论 -
消息队列(一)-- RabbitMQ入门(2)
producer 将消息投递到 broker 或者直接到 queue 里了,有些时候由于特定原因导致 queue 中的某些消息无法被消费,这些消息若没有后续的处理,就变成了死信,有了死信自然就有了死信队列。图中,生产者发布消息到 Exchange 上,绑定键为 orange 的消息会被发布到队列 Q1,绑定键为 black、green 的消息会被发布到队列 Q2。应用场景:为了保证订单业务的消息数据不丢失,需要使用到 RabbitMQ 的死信队列机制,当消息消费发生异常时,将消息投入死信队列中。原创 2023-07-25 19:24:37 · 155 阅读 · 0 评论 -
消息队列(一)-- RabbitMQ入门(1)
RabbitMQ 一旦向消费者传递一条消息,便立即将该消息标记为删除,这种情况下,突然有个消息挂掉了,将会丢失正在处理的消息。为了保证消息在发送过程中不丢失,RabbitMQ 引入消息应答机制,消息应答就是:消费者在接收到消息并且处理该消息之后,告诉 RabbitMQ 它已经处理了,RabbitMQ 可以把该消息删除了。工作队列模式(又称任务队列)的主要思想是,当有资源密集型任务,把任务封装为消息,并将其发送到队列,由一个或多个工作线程将任务轮询弹出并执行。上面情形,只会应答 8 的消息。原创 2023-07-25 19:23:35 · 1460 阅读 · 0 评论