前言
关于为什么要有分布式锁这个东西,欢迎阅读我的zk分布式锁的实现,介绍了单机高并发、分布式高并发的解决方案:
用ZooKeeper实现分布式锁
这里再切入本例将使用的场景模拟:商品秒杀,或者说高并发下,对于商品库存扣减操作。我用一个SpringBoot小项目模拟一下该操作。
本例用到的技术栈:
- SpringBoot
- Redis
- etcd
在正式肝代码之前,先来对etcd分布式锁实现的机制和原理做一个了解。
深耕技术,啃下22个技术点
互联网行业更新换代非常快,行业常态便是不断学习,因此这些主流技术你一个都不能落下!
①并发编程
Java并发编程是整个Java开发体系中最难以理解,但也是最重要的知识点之一,因此学习起来比较费劲,从而导致很多人望而却步,但是无论是职场面试还是高并发高流量的系统的实现都离不开并发编程,能够真正掌握并发编程的人才在市场上供不应求。
②JVM
JVM存在的意义就是实现跨平台,而JVM也是中高级程序员必须要掌握的技术,基本上面试必问。学JVM也是为了更深入地理解Java,很多时候你要解决一个问题必须深入到字节码层次去分析,你才能得到准确的结论,而字节码就是虚拟机的一部分。最后,也是为了今后更好的解决线上排查问题。
③Netty
Netty是目前最流行的一款高性能Java网络编程框架,应用非常广泛。包括RocketMQ、Kafka、elasticsearch、Dubbo这些技术的底层都用到了Netty框架。通过Netty的学习,还可以锻炼你的编程思维,对Java其他的知识体系起到融会贯通的作用。
④数据结构与算法
相信很多有过大厂面试经历的人都感受到,现在大厂对于算法面试越来越看重了,无非是因为比较公平,还能看出你的代码能力以及思维能力。
⑤MySQL
MySQL作为一种开源的轻量级数