消息队列
文章平均质量分 90
空城1995
爱编程,爱java。
展开
-
RabbitMQ(六)整合SpringBoot
1.1 导入依赖<dependencies> <!--RabbitMQ 依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependenc...原创 2022-04-08 21:10:40 · 1504 阅读 · 0 评论 -
RabbitMQ(五)死信队列和延迟队列
1.1 概念先从概念解释上搞清楚这个定义,死信,顾名思义就是无法被消费的消息,字面意思可以这样理解,一般来说,producer 将消息投递到 broker 或者直接到 queue 里了,consumer 从 queue 取出消息进行消费,但某些时候由于特定的原因导致 queue 中的某些消息无法被消费,这样的消息如果没有后续的处理,就变成了死信,有死信自然就有了死信队列。应用场景:为了保证订单业务的消息数据不丢失,需要使用到 RabbitMQ 的死信队列机制,当消息消费发生异常时,将消息投入死信队列原创 2022-04-08 21:07:52 · 4298 阅读 · 0 评论 -
RabbitMQ(四)交换机exchange
5.1.1 概念RabbitMQ 消息传递模型的核心思想是: 生产者生产的消息从不会直接发送到队列。实际上,通常生产者甚至都不知道这些消息传递传递到了哪些队列中。相反,生产者只能将消息发送到交换机(exchange),交换机工作的内容非常简单,一方面它接收来自生产者的消息,另一方面将它们推入队列。交换机必须确切知道如何处理收到的消息。是应该把这些消息放到特定队列还是说把他们到许多队列中还是说应该丢弃它们。这就的由交换机的类型来决定。5.1.2 类型 直接(direct) .原创 2021-08-21 18:00:12 · 373 阅读 · 0 评论 -
RabbitMQ(三)发布确认
4.1 发布确认原理生产者将信道设置成 confirm 模式,一旦信道进入 confirm 模式,所有在该信道上面发布的消息都将会被指派一个唯一的 ID(从 1 开始),一旦消息被投递到所有匹配的队列之后,broker 就会发送一个确认给生产者(包含消息的唯一 ID),这就使得生产者知道消息已经正确到达目的队列了,如果消息和队列是可持久化的,那么确认消息会在将消息写入磁盘之后发出,broker 回传给生产者的确认消息中 delivery-tag 域包含了确认消息的序列号,此外 broker 也可以设置原创 2021-08-21 17:56:05 · 224 阅读 · 0 评论 -
RabbitMQ(二)工作队列
工作队列(又称任务队列)的主要思想是避免立即执行资源密集型任务,而不得不等待它完成。相反我们安排任务在之后执行。我们把任务封装为消息并将其发送到队列。在后台运行的工作进程将弹出任务并最终执行作业。当有多个工作线程时,这些工作线程将一起处理这些任务。3.1 轮询分发消息在这个案例中我们会启动两个工作线程,一个消息发送线程,我们来看看它们两个工作线程是如何工作的。3.1.1 抽取工具类/** * 连接工厂创建信道工具类 */public class RabbitMqUtil.原创 2021-08-17 20:59:07 · 241 阅读 · 0 评论 -
RabbitMQ(一)helloworld
1.1 MQ的相关概念1.1.1 什么是MQMQ,从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信机制。使用了MQ之后,消息发送上游只需要依赖MQ,不用依赖其他服务。1.1.2 为什么要使用MQ 流量削峰 举个例子,如果订单系统最多能处理一万次订单,这个处理能力应付正常时段的下单绰绰有余,但是在高峰期,有两万次下单系统原创 2021-08-17 20:53:10 · 268 阅读 · 0 评论 -
RabbitMQ入门
1.简介MQ全称为Message Queue,即消息队列, RabbitMQ是由erlang语言开发,基于AMQP(Advanced Message Queue 高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开 发中应用非常广泛。RabbitMQ官方地址:http://www.rabbitmq.com/开发中消息队列通常有如下应用场景:1...原创 2019-09-26 17:48:45 · 207 阅读 · 0 评论 -
SpringBoot整合RabbitMQ
1.导入pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </depend...原创 2019-09-26 17:50:13 · 183 阅读 · 0 评论