×

rabbitmq

【RabbitMQ】RabbitMQ如何做到保证消息100%不丢失?

王亚楠 王亚楠 发表于2024-04-20 浏览6554 评论0
项目中使用RabbitMQ来作为消息队列,遇见过消息丢失的情况,特此记录一下。 写在前面 先来说下MQTT协议中的3种语义,这个非常重要。 在MQTT协议中,给出了三种传递消息时能够提供的服务质量标准,这三种服务质量从低到高依次是: At most once:至多一次。消息在传递时,最多会被送达一次。也就是说,没什么消息可靠性保证,允许丢消息。 At least once:至少一次。消息在传递时,至少会被送达一次。也就是说,不允许丢消息,但是允许有少量重复消息出现。 Exa

rabbitmq

关于RabbitMQ的一些面试题

lin9072 lin9072 发表于2024-04-20 浏览19744 评论0
0. 什么是RabbitMQ RabbitMQ采用AMQP高级新消息队列协议的一种消息队列技术,最大的特点是消费并不需要确保提供方实现,实现了服务之间的高度解耦 1. 延时队列底层实现 延迟队列存储的对象肯定是对应的延迟消息,所谓”延迟消息”是指当消息被发送以后,并不想让消费者立即拿到消息,而是等待指定时间后,消费者才拿到这个消息进行消费 订单时间 定时任务 TTL(Time To Live) RabbitMQ可以针对Queue和Message设置 x-message-t

rabbitmq

RabbitMQ消息发布确认(rabbitmq 发布确认)

慕容小布 慕容小布 发表于2024-04-20 浏览5359 评论0
发布确认原理 生产者将信道设置成 confirm 模式,一旦信道进入 confirm 模式, 所有在该信道上面发布的消息都将会被指派一个唯一的 ID(从 1 开始),一旦消息被投递到所有匹配的队列之后, broker就会发送一个确认给生产者(包含消息的唯一 ID),这就使得生产者知道消息已经正确到达目的队列了,如果消息和队列是可持久化的,那么确认消息会在将消息写入磁盘之后发出, broker 回传给生产者的确认消息中 delivery-tag 域包含了确认消息的序列号,此外 broker 也

rabbitmq

硬核,RabbitMQ入门使用教程,详细到哭

小海 小海 发表于2024-04-20 浏览6239 评论0
RabbitMQ 简介 RabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议来实现。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、 安全。AMQP协议更多用在企业系统内,对数据一致性、稳定性和可靠性要求很高的场景,对性能和吞吐量的要求还在其次。 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程

rabbitmq

(三)消息队列——AMQP的理解以及RabbitMQ概述(消息队列RabbitMQ)

7 7 发表于2024-04-20 浏览4572 评论0
一、消息队列——AMQP的理解: AMQP,即 Advanced Message Queuing Protocol(高级消息队列协议),是一个网络协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。 生产者Publisher生产消息发送到交换机Exchange,由交换机分发到指定的队列Queue存储,然后消费者Consumer 从队列获取消息进行消费。 二、RabbitMQ

rabbitmq

【亲测可用】禁用AMQP配置中的明文身份验证机制-漏洞解决方法(RabbitMQ开启SSL附SpringBoot连接测试代码)

窜天猴 窜天猴 发表于2024-04-20 浏览7744 评论0
楔子 近期公司程序被安全扫描出 远程主机允许明文身份验证 中风险漏洞,查了下修复方案发现网上的都是把 RabbitMQ 的认证机制改了,然后也没提供 Java 客户端连接测试结果,底下全是登录失败的回帖…… 想到 RabbitMQ 官方提供了SSL连接方式,而且 SpringBoot AMQP 也支持 SSL 连接,所以尝试以下将配置RabbitMQ开启SSL 并使用 SpringBoot Demo 测试连接。最终修复了这个漏洞,同时 Java 客户端连接正常。 文章修订日志:

rabbitmq

RabbitMQ实现延迟队列的方式

애타게샤오닝 애타게샤오닝 发表于2024-04-20 浏览6548 评论0
1.背景          最近在做类似拍卖系统的上架功能,卖家上架物品以后,例如到期时间24小时或者48小时,如果无竞拍者或者购买者,则物品自动下架到用户的邮件中。诸如电商用户下单,30分钟未支付,则自动取消订单,归还库存. 实现这些类似的业务场景,大家想到最简单的方式和我想的差不多如下.看看是否和你想的基本一致. 1.1 MySQL+轮询         把数据写入到MySQL的一张表,然后程序轮询,例如1分钟或者几分钟轮询一次,看上架单是否已经到期,到期则下架.          

rabbitmq

Springboot整合RabbitMQ手动ACK

金百丰广告 金百丰广告 发表于2024-04-20 浏览7501 评论0
消息应答 消费者完成一个任务可能需要一段时间,如果其中一个消费者处理一个长的任务但是只完成了部分突然它挂掉了,会发生什么情况?RabbitMQ 一旦向消费者传递了一条消息,便立即将该消息标记为删除。在这种情况下,突然有个消费者挂掉了,我们将丢失正在处理的消息,以及后续发送给该消费者的消息,因为它无法接收到。为了保证消息在发送过程中不丢失,引入消息应答机制,消息应答就是:消费者在接收到消息并且处理该消息之后,告诉 rabbitmq 它已经处理了,rabbitmq 可以把该消息删除了。 自动应答

rabbitmq

消息队列内容解析(消息队列内容解析图)

ilotter ilotter 发表于2024-04-20 浏览5221 评论0
消息队列应用背景 消息队列常见的应用场景有:异步,解耦,削锋。 1. 异步处理数据 异步可以类举生活中的例子,比如说是取送快递,如果快递员需要直接对用户进行签收,那么效率会大大降低,而引入快递柜(消息队列)通过引入快递暂存的功能,从而可以达到异步的效果,效率可以大大增加。 2. 系统应用解耦 解耦:在不引入消息队列的情况下,消费者想要获取数据,需要直接于生产者进行联系,这样耦合度就会比较大,引入消息队列后,消费者想要获取信息,直接从消息队列中进行获取就可以了,生产者和消费者之

rabbitmq

面试官:RabbitMQ有哪些工作模式?

孔维宇 孔维宇 发表于2024-04-20 浏览6993 评论0
哈喽!大家好,我是小奇,一位不靠谱的程序员 小奇打算以轻松幽默的对话方式来分享一些技术,如果你觉得通过小奇的文章学到了东西,那就给小奇一个赞吧 文章持续更新,可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】更有我为大家准备的福利哟! 一、前言 今天又、又、又来面试了,还是老规矩,上来先做两张面试题,然后填半斤表,什么血型、什么星座的,话说我不知道自己什么血型,只能空着了。。。 今天这公司环境还可以,大厅可以看到外面的世界,我已经想好了以后该

scala

kafka部署时出现的天坑(Kafka部署)

梅兰(信达图文广告18246481123) 梅兰(信达图文广告18246481123) 发表于2024-04-20 浏览5057 评论0
前言 最近在部署kafka单节点时遇到的问题,想着自己弄个单节点演示以下, 好家伙,单启动的时候就报了很多错误;为防止在坑,故将错误信息记录下来;以防万一! kafka版本 2.4.1 部署环境 阿里云服务器,系统为centos 7.9 解决kafka启动报错 :Socket server failed to bind to 123.57.207.179:9092: 无法指定被请求的地址. 控制台整体错误信息如下 [2021-09-14 10:59:11,134] ER

spring boot

【kafka专栏】SpringBoot下`@KafkaListener`消费监听属性详解

任廷华 任廷华 发表于2024-04-20 浏览5824 评论0
一、@KafkaListener属性概述 KafkaListener有若干的配置属性,这些配置属性使用或者是结合使用,可以方便快捷的帮助我们实现kafka消费者数据监听的需求。这里的属性比较多,先大概了解一下,后续我会介绍。 public @interface KafkaListener { /** * 消费者的id,如果没有配置或默认生成一个。如果配置了会覆盖groupId,