卖家报名产品店铺活动,活动控制在20个。如果在大并发下面的话,如果我们只是在添加活动的时候判断目前还有多少个剩余活动可报名,这样存在线程安全问题。
遇到这样的情况,处理办法可以有如下几种:
1、在代码中添加同步。
2、在数据库中使用存储过程(里面先判断剩余可产品活动次数。然后插入数据),由数据库保证事务的完整性。
遇到这样的情况,处理办法可以有如下几种:
1、在代码中添加同步。
2、在数据库中使用存储过程(里面先判断剩余可产品活动次数。然后插入数据),由数据库保证事务的完整性。
3、通过代码冗余,比如查询的时候只查询前20条(>=20也只查询20条)。
这个问题还是被现在的老大正视啦,现在才知道交易是不用存储过程的。由于是集群环境代码中添加同步也是不可行的。接下来看DBA怎么解决这个问题。期待中。。。。