【并发控制】并发控制与分布式锁(redis/zookeeper)实现【图文教程】_ 第1章

平凡也就两个字: 懒和惰;
成功也就两个字: 苦和勤;
优秀也就两个字: 你和我。
跟着我从0学习JAVA、spring全家桶和linux运维等知识,带你从懵懂少年走向人生巅峰,迎娶白富美!
关注微信公众号【 IT特靠谱 】,每一篇文章都是心得总结,跟我学习你就是大牛!

并发控制与分布式锁(redis/zookeeper)实现【图文教程】_第1章

项目需求:

      库存系统的某件商品数量只有1个,假如有2个用户同时下单,那么如何控制只能有其中一个用户能下单成功呢?也就是说2个线程同时争夺一个资源,如何控制并发呢?

      以下用简单的示例进行演示!

订单系统/库存系统/支付系统

订单微服务系统:

库存微服务系统:

支付微服务系统:

2 出现并发问题的代码

正常输出情况:只有1个用户能减库存成功!

非正常输出(并发问题):两个用户都减库存成功了!但是只有1件商品啊!!!

      以上测试发现在高并发情况下,是及其容易出现并发问题的,最终会导致生产事故!为了避免并发问题,可以通过多种方式来解决,如:乐观锁、同步锁、redis分布式锁和zookeeper分布式锁等! 后面会依次进行讲解分享~

      如果以上教程对您有帮助,为了不迷路,请关注一下吧~

猜你喜欢

转载自blog.csdn.net/IT_Most/article/details/108729794