码迷,mamicode.com
首页 > 其他好文 > 详细

分布式并发问题解决的一些小心得

时间:2014-08-11 12:13:12      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:互联网   并发   

问题场景描述

一般都是先读数据库某个数,判断是否满足要求,然后更新这个数据,在分布式高并发的情况下,就容易出现脏读的问题。要解决的话,有以下可以尝试的方法

  1. java同步关键字synchronized

    可以锁方法也可以锁对象,不过不适合分布式环境,刚开始学完java比较容易想到的办法

  2. 利用数据库的特性

    利用数据库行级锁,读锁,不过互联网的应用,这种方法就不推荐了

  3. 利用事务

    这个对事务的大小,以及执行速度都有要求,如果事务足够小,执行的足够快的话,也是一种解决办法

  4. 先更新,后取数

    比如:你想取得商品ID列表返回,这时候你应该先更新库存,在返回ID列表,并且更新库存的where条件应该是库存大于0,这样如果更新语句影响记录等于1,说明有足够库存,更新成功,否则库存不足。目前项目中用的这种方法

总结:

    以上几点,是我们在项目中解决并发问题的思路历程,以后随着用户量的增加可能会出现新的问题,那么解决方法可能也会更新。

本文出自 “路西法” 博客,谢绝转载!

分布式并发问题解决的一些小心得,布布扣,bubuko.com

分布式并发问题解决的一些小心得

标签:互联网   并发   

原文地址:http://kinnux2011.blog.51cto.com/2931162/1538440

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!