javaweb 集群数据同步
场景:并发,集群
场景模拟: 先有3台web容器(tomcat)进行集群,并发处理。
业务:
现在有一个id 为101 的商品, 商品数量只剩下一个。当商品数量==0 的时候,这个商品不能进行购买!
goods : {'id',101,'count',1};
同时有多个(这里就假如有2个A和B)用户请求购买buy.action?id=101
理想结果: 请求购买的时候 我需要在商品数量不够的时候 不予以购买,
Goods g = new Goods(101,1);//查询到的对象, ()并发A 和 B 拿到的数据是一样的 他们的剩余数量都是1
if(g.getCount() <= 0) {
//不执行 下单
return;
} else{
//下单
}。
// 情况就在这里 两个都能去下单肯定是不正确的,
如果我加入同步锁, 效率低, 就算我加入同步锁,集群情况下,还是不行,
求大神指导 解决方案!!(菜鸟的的痛苦)