内容目录:


工作中经常会遇到争抢共享资源的场景,比如用户抢购秒杀商品,如果不对商品库存进行保护,可能会造成超卖的情况。超卖现象在售卖火车票的场景下更加明显,两个人购买到同一天同一辆列车,相同座位的情况是不允许出现的。交易系统中的退款同样如此,由于网络延迟和重复提交极端时间差的情况下,可能会造成同一个用户重复的退款请求。以上无论是超卖,还是重复退款,都是没有对需要保护的资源或业务进行完善的保护而造成的,从设计方面一定要避免这种情况的发生。

本文以退款交易场景入手,引入分布式锁,尝试分析分布式锁需要考虑关注点,包括以下内容:

  • 锁的引入和局限性

  • 分布式锁的三要素

  • 分布式锁进阶

    • 获取锁操作的原子性

    • 锁与保护共享资源的数据一致性

    • 分布式锁的性能

    • 可重入

    • 公平锁和非公平锁

  • 分布式锁的容错,使用分布式锁时注意考虑哪些问题

延伸阅读

学习是年轻人改变自己的最好方式-Java培训,做最负责任的教育,学习改变命运,软件学习,再就业,大学生如何就业,帮大学生找到好工作,lphotoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训学习是年轻人改变自己的最好方式