您的位置:首页 > 游戏 > 手游 > 公司网站模板侵权案例_河北保定最新消息_百度一下官方网页版_网络营销渠道建设方案

公司网站模板侵权案例_河北保定最新消息_百度一下官方网页版_网络营销渠道建设方案

2025/1/7 7:36:05 来源:https://blog.csdn.net/u013127325/article/details/144936823  浏览:    关键词:公司网站模板侵权案例_河北保定最新消息_百度一下官方网页版_网络营销渠道建设方案
公司网站模板侵权案例_河北保定最新消息_百度一下官方网页版_网络营销渠道建设方案

1.消息丢失

   有这么一个场景,就是订单支付完成之后,订单系统会进行发送消息给RocketMQ集群,下游会有积分系统进行监听这个消息,进行消费然后给用户发放积分。在下面的这个场景中,通过查询日志发现了订单系统发送订单支付消息的日志。别的就没有了。

那我们进行分析

1. 发送订单支付消息给RocketMQ集群会出现消息丢失的情况的吗?

 会出现消息丢失的情况,可能出现的原因:在发送的过程中,出现了网络抖动,导致了消息没有发送的MQ的集群上;MQ集群收到了消息,但是在进行保存的时候,由于自身的一些bug或者其他原因导致数据没有存储上也是可能的等。

2.消息到达了MQ,MQ会自己导致数据丢失吗?

答案也是可能的,举个例子,我们发送消息到MQ集群上,此时消息还是在os cache中,还是没有写入到磁盘,此时Broker机器发生了宕机,那么消息就会出现丢失的情况。

3.消息到达了MQ,并且MQ将数据写入了磁盘,数据还会丢失吗?

答案还是有可能的,比方说磁盘发生了故障,导致数据的丢失。

4.消费者拿到了消息,消息就不会丢失了吗?

答案还是有可能会丢失的,假如我们的消费者拿到了消息,此时还没有进行消费,此时系统会有自动提交offset的能力,自动提交了offset,同时咱们的消息者宕机了,那么再次重启之后,这条消息就会出现丢失的情况。

解决方案:

针对情况一:我们可以采用RocketMQ的事务消息机制来保证消息发送的可靠性。

步骤一 都失败了,那就没必要进行更新订单状态可以直接返回了;

步骤二失败了 此时就会有步骤五算是一个补偿机制来进行反查状态;

步骤三失败了,会触发步骤四进行RollBack;

步骤四失败了此时就会有步骤五算是一个补偿机制来进行反查状态;

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com