消息丢失分成三种情况,可能出现生产者、RabbitMQ、消费者。 生产者丢失数据 首先要确保写入 RabbitMQ 的消息别丢,消息队列通过请求确认机制,保证消息的可靠传输。生产开启 comfirm 模式,在生产者开启 comfirm 模式之后,每次发送消息都会分配一个唯一的id ...
目录 . RQ . . RQ消费者发生消息丢失 . . RQ本身出问题宕机 . . 消费者丢失消息 . . RQ总结 . Kafka . . Kafka生产者 . . Kafka弄丢了消息 . . 消费端弄丢了数据 . RQ 对于RQ来说在消息传输的过程中主要有三块地方可能发生消息丢失: 生产者 RQ 消费者 . . RQ消费者发生消息丢失 此时可以选择用 RabbitMQ 提供的事务功能,就是 ...
2021-05-03 10:32 0 336 推荐指数:
消息丢失分成三种情况,可能出现生产者、RabbitMQ、消费者。 生产者丢失数据 首先要确保写入 RabbitMQ 的消息别丢,消息队列通过请求确认机制,保证消息的可靠传输。生产开启 comfirm 模式,在生产者开启 comfirm 模式之后,每次发送消息都会分配一个唯一的id ...
消息的可靠投递除了需要硬件,网络,消息中间件等的可靠保证外,还需要生产者,消费者来共同保证来完成。一条消息从生产者产生,到发送到交换机,并被投递到队列,并最终被消费者消费,这整个路径上,途径的每一个地方都要保证消息的可靠性。 其实,官方文档Reliability Guide已经总结了消息 ...
1.消费端弄丢了数据 唯一可能导致消费者弄丢数据的情况,就是说,你消费到了这个消息,然后消费者那边自动提交了 offset,让 Kafka 以为你已经消费好了这个消息,但其实你才刚准备处理这个消息,你还没处理,你自己就挂了,此时这条消息就丢咯。 这不是跟 RabbitMQ 差不多吗,大家都知道 ...
),然后发送消息,如果消息没有成功被RabbitMQ接收到,那么生产者会收到异常报错,此时就可以回滚事务(c ...
一、消息如何保证可靠性传输 1.1、可能出现消息丢失的情况 1、Producer在把Message发送Broker的过程中,因为网络问题等发生丢失,或者Message到了Broker,但是出了问题,没有保存下来 针对这个问题,Producer可以开启MQ的事务,如果这个过程出现异常 ...
面试题 如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题? 面试官心理分析 这个是肯定的,用 MQ 有个基本原则,就是数据不能多一条,也不能少一条,不能多,就是前面说的重复消费和幂等性问题。不能少,就是说这数据别搞丢了。那这个问题你必须得考虑一下。 如果说你这个是用 MQ ...
剖析nsq消息队列-目录 上一篇主要说了一下nsq是如何保证消息被消费端成功消费,大概提了一下消息的持久化,--mem-queue-size 设置为 0,所有的消息将会存储到磁盘。 总有人说nsq的持久化问题,消除疑虑的方法就是阅读原码做benchmark测试,个人感觉nsq还是很靠谱的。 nsq ...
剖析nsq消息队列-目录 上两篇帖子主要说了一下nsq的拓扑结构,如何进行故障处理和横向扩展,保证了客户端和服务端的长连接,连接保持了,就要传输数据了,nsq如何保证消息被订阅者消费,如何保证消息不丢失,就是今天要阐述的内容。 nsq topic、channel、和消费我客户端的结构如上图 ...