对于单机环境
- 一个JVM对应多个线程,使用synchronized,Reentrantlock。
对于多台服务器,分布式环境
- 多个JVM对应多个线程,上面的锁不好使。
问题:如何保证创建订单不重复。
- 2000访问一下,使用数据库乐观锁,企业不使用。
- redis锁
- zookeeper锁
zookeeper锁实现机制
- 创建锁
- 释放锁
zookeeper锁实现代码
对于单机环境
对于多台服务器,分布式环境
问题:如何保证创建订单不重复。
zookeeper锁实现机制
zookeeper锁实现代码