分布式系统概念与设计(原书第5版)
93.8元
包邮
(需用券)
去购买 >
为什么要有分布式锁?
模拟一个秒杀接口:
商品表:
单机情况下,用Jmeter发送1000个请求过来:
由于加了sychronized进行方法同步,结果正常。
现在模拟集群环境,还是用上面的接口,但启动两个服务,分别是8080和8081端口,用nginx负载均衡到两个tomcat,用Jmeter发送1000个请求到nginx:
发现库存并没有-1000,并且控制的库存量打印有重复。
结论:
我们在系统中修改已有数据时,需要先读取,然后进行修改保存,此时很容易遇到并发问题