重庆网站seo公司厦门专业做优化的公司
news/
2025/9/22 16:40:33/
文章来源:
重庆网站seo公司,厦门专业做优化的公司,游戏广告推广平台,加盟网站制作公司1.消息丢失 有这么一个场景#xff0c;就是订单支付完成之后#xff0c;订单系统会进行发送消息给RocketMQ集群#xff0c;下游会有积分系统进行监听这个消息#xff0c;进行消费然后给用户发放积分。在下面的这个场景中#xff0c;通过查询日志发现了订单系统发送订单支付…1.消息丢失 有这么一个场景就是订单支付完成之后订单系统会进行发送消息给RocketMQ集群下游会有积分系统进行监听这个消息进行消费然后给用户发放积分。在下面的这个场景中通过查询日志发现了订单系统发送订单支付消息的日志。别的就没有了。 那我们进行分析
1. 发送订单支付消息给RocketMQ集群会出现消息丢失的情况的吗 会出现消息丢失的情况可能出现的原因在发送的过程中出现了网络抖动导致了消息没有发送的MQ的集群上MQ集群收到了消息但是在进行保存的时候由于自身的一些bug或者其他原因导致数据没有存储上也是可能的等。
2.消息到达了MQMQ会自己导致数据丢失吗
答案也是可能的举个例子我们发送消息到MQ集群上此时消息还是在os cache中还是没有写入到磁盘此时Broker机器发生了宕机那么消息就会出现丢失的情况。
3.消息到达了MQ并且MQ将数据写入了磁盘数据还会丢失吗
答案还是有可能的比方说磁盘发生了故障导致数据的丢失。
4.消费者拿到了消息消息就不会丢失了吗
答案还是有可能会丢失的假如我们的消费者拿到了消息此时还没有进行消费此时系统会有自动提交offset的能力自动提交了offset同时咱们的消息者宕机了那么再次重启之后这条消息就会出现丢失的情况。
解决方案
针对情况一我们可以采用RocketMQ的事务消息机制来保证消息发送的可靠性。 步骤一 都失败了那就没必要进行更新订单状态可以直接返回了
步骤二失败了 此时就会有步骤五算是一个补偿机制来进行反查状态
步骤三失败了会触发步骤四进行RollBack
步骤四失败了此时就会有步骤五算是一个补偿机制来进行反查状态
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/909668.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!