已解决:java中高并发场景出现的脏数据问题

一、前言
2020大数据时代,由于数据的日渐增多,很多公司都回去选用一些强势一点的数据库,
比如hbase这种高吞吐量的数据库。
众所周知:上手容易,优化难。真正理解这句话的都试过来人。
  • 代码与bug之间的距离终究只差那么0.1

突然接到紧急任务,问题是这样子的。比如一个解绑数据的接口,方法是线上其实也没什么
1.进入方法
2.根据条件获取到hbase存储的数据
3.根据本次请求要操作的内容做判断,组装数据,更新hbase

  • 是不是很简单的三步骤。
  • 经过他们反馈得知:当请求之后发现数据并没有全部更新成功,只是部分更新上去了。
二、问题思路
  • 首先想到的就是脏数据 一致性这两点。
    看了看日志,服务并没有出现任何异常,由此锁定上面分析的可能性是比较大的数据脏的了。

  • 先了解一下事务的相关知识
    什么是事务?

三、上手调试
1、问题复现
  • 先写个异步请求 我这里没用循环直接开了三个线程
    在这里插入图片描述

  • 执行成功之后 下面图片中smallCode字段会绑定上三个字段值

  • 在这里插入图片描述

  • 下面我们执行后看结果
    在这里插入图片描述

  • 这里只成功绑定了一个,剩余两个丢失了。所以在后期进行解绑时候,出现了部分解除不掉问题。

2、解决

😁 作者:Teddy (公众号:鸡仓故事汇)
ok!到这里就大功告成,小编(Teddy)在这里先感谢大家的到来。
虽然不是太详细,小编已经很努力,给小编来个一键三连(点赞,关注,收藏),小编会越来越努力。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小码农吗

感谢您的大力支持,感谢感谢!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值