RabbitMQ
文章平均质量分 85
风车菊
积极向上,坚持前行的勇敢少年
展开
-
09-rabbitMq-发布确认高级-springBoot版本
在生产环境中由于一些不明原因,导致 rabbitmq 重启,在 RabbitMQ 重启期间生产者消息投递失败,导致消息丢失,需要手动处理和恢复。于是,我们开始思考,如何才能进行 RabbitMQ 的消息可靠投递呢?特别是在这样比较极端的情况,RabbitMQ 集群不可用的时候,无法投递的消息该如何处理呢?这就需要我们的rabbitMQ队列发布确认高级模式,消息投递失败的,是转发,转发失败,消息回退,缓存等等都是问题。一、确认机制方案1、确认机制方案消息投递到我们交换机时,同时缓存我们的消息,一旦我们的原创 2021-10-09 12:45:09 · 436 阅读 · 0 评论 -
08-rabbitMQ-springboot-延时队列
一、springBoot整合RabbitMQ1、IDEA创建一个SpringBoot的项目2、导入相关的依赖<!--导入依赖--> <dependencies> <!--RabbitMQ 依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId&原创 2021-10-05 21:03:51 · 216 阅读 · 0 评论 -
07-rabbitMQ-死信队列
一、死信的概念先从概念解释上搞清楚这个定义,死信,顾名思义就是无法被消费的消息,字面意思可以这样理解,一般来说,producer 将消息投递到 broker 或者直接到 queue 里了,consumer 从 queue 取出消息进行消费,但某些时候由于特定的原因导致 queue 中的某些消息无法被消费,这样的消息如果没有后续的处理,就变成了死信,有死信自然就有了死信队列。应用场景: 为了保证订单业务的消息数据不丢失,需要使用到 RabbitMQ 的死信队列机制,当消息消费发生异常时,将消息投入死信队列原创 2021-10-05 16:01:41 · 114 阅读 · 0 评论 -
06-rabbitmq-交换机-随机队列
一、临时队列之前的章节我们使用的是具有特定名称的队列(还记得 hello 和 ack_queue 吗?)。队列的名称我们来说至关重要-我们需要指定我们的消费者去消费哪个队列的消息。每当我们连接到 Rabbit 时,我们都需要一个全新的空队列,为此我们可以创建一个具有随机名称的队列,或者能让服务器为我们选择一个随机队列名称那就更好了。其次一旦我们断开了消费者的连接,队列将被自动删除。创建临时队列的方式如下: /** * 随机队列: * 队列的名称是随机原创 2021-10-05 15:01:31 · 862 阅读 · 0 评论 -
05-RabbitMQ-发布确认
一、发布确认原理生产者将信道设置成 confirm 模式,一旦信道进入 confirm 模式,所有在该信道上面发布的消息都将会被指派一个唯一的 ID(从 1 开始),一旦消息被投递到所有匹配的队列之后,broker就会发送一个确认给生产者(包含消息的唯一 ID),这就使得生产者知道消息已经正确到达目的队列了,如果消息和队列是可持久化的,那么确认消息会在将消息写入磁盘之后发出,broker 回传给生产者的确认消息中 delivery-tag 域包含了确认消息的序列号,此外 broker 也可以设置basic原创 2021-09-30 19:12:30 · 58 阅读 · 0 评论 -
04-RabbitMQ-Work Queues&&消息应答&&持久化&&不公平分发
一、介绍工作队列(又称任务队列)的主要思想是避免立即执行资源密集型任务,而不得不等待它完成。相反我们安排任务在之后执行。我们把任务封装为消息并将其发送到队列。在后台运行的工作进程将弹出任务并最终执行作业。当有多个工作线程时,这些工作线程将一起处理这些任务。二、轮训分发消息...原创 2021-09-29 19:35:03 · 131 阅读 · 0 评论 -
03-RabbitMQ-Hello world
我们简单的入门一下我们的Rabbit,使用java完成一个生产者,一个消费者,完成先关的操作。1、工作原理图2、创建一个Maven项目,导入对应的依赖<dependencies> <!--rabbitmq 依赖客户端--> <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-cl原创 2021-09-28 10:52:09 · 60 阅读 · 0 评论 -
02-RabbitMQ-安装-启动-连接-注意事项
一、Rabbit安装和启动1、下载Linux版的安装包2、上传文件到Linux服务器开启安装上传到/usr/local/software 目录下(如果没有 software 需要自己创建)3、安装文件(注意按照我们的安装砖目录来)rpm -ivh erlang-21.3-1.el7.x86_64.rpmyum install socat -yrpm -ivh rabbitmq-server-3.8.8-1.el7.noarch.rpm4、常用命令添加开机启动 RabbitMQ 服务原创 2021-09-27 21:24:53 · 105 阅读 · 0 评论 -
01-初识消息队列MQ&&Rabbit相关概念介绍
文章目录一、消息队列MQ相关的概念介绍1、什么是MQ2、为啥使用MQ,MQ的优势2.1、流量消峰2.2、引用解耦2.3、异步处理一、消息队列MQ相关的概念介绍1、什么是MQMQ(message queue),从字面的意思上看,本质是一个队列,FIFO先入先出,只不过队列中存放的内容是message 而已,MQ还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ,不用依赖其他服务。原创 2021-09-27 20:38:59 · 147 阅读 · 0 评论