高并发问题解决方案集锦

  高并发问题解决方案集锦

 

  引用:我们在处理高并发数据的时候经常碰到一些需要处理的棘手问题,一时半会找不到好的解决方案,误人误事,现整理一下这些问题如下

  高并发全局id生成

         一种方法是生成64位整型ID (42(毫秒)+5(机器ID)+5(业务编码)+12(重复累加)),还有其他更好的办法,后面再修改。

  秒杀库存解决(update问题)

    可以用消息队列和乐观锁比较好的解决。代码中间层用消息队列用于减缓数据库压力;数据库端用乐观锁方法,其实就是在表加一个版本字段,在更新前获得当前版本号,然后用类似这样的sql更新即可:update user set stock=stock-1,version=version+1 where id=#{id} and version=#{version}。

      防多领刷礼包(insert问题)

    一般在数据库端就能解决,在数据库表字段设置约束,用主键约束就行,第一次领礼包insert一条记录,下次再领前insert的时候会出现已经有相同记录错误,抛出异常。

   以后再慢慢积累更多问题解决方案,大家有其他方案的请在留言区贡献。

posted @ 2018-03-23 17:49  符号号  阅读(139)  评论(0)    收藏  举报