H5W3
当前位置:H5W3 > 其他技术问题 > 正文

异步调用等待期间数据被篡改导致数据不一致问题!

本小白在学习关于分布式事务相关内容,关于最终一致性解决方案,有点疑问,由于采用消息队列去处理,所以在消息挤压过多情况下下游可能延时一段时间,假如这一段时间内有同步操作对目标数据进行了操作,就会导致数据紊乱了吧,比如:

  1. 05:10:30秒有一个异步操作 放在了队列里 业务是修改A用户的姓名为’张三’,由于队列任务挤压,大约可能的执行时间是05:10:40秒。

  2. 05:10:35秒有个同步的操作修改了A用户姓名为’李四’,修改成功,然而05:10:40后由于执行了异步任务,A用户姓名又变为了’张三’。
    这就很迷了。

     想了想这貌似是我分布式事务这里想出的,但是这貌似只是个异步处理的问题,和分布式事务无关,只要异步就会有这个问题,而且我也没找到关于这个问题的一些处理,貌似也没有处理方法,除非同步,小白想问问是酱紫嘛?

回答

很简单实现啊,同步操作换个逻辑把要改的内容放在异步的使用的队列中就好了,如果你异步加锁就毫无意义做异步,干脆同步和异步共用一个队列

未经允许不得转载:H5W3 » 异步调用等待期间数据被篡改导致数据不一致问题!

赞 (0)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址