1. 首页
  2. 编程语言
  3. Java
  4. 浅谈Java分布式架构下如何实现分布式锁

浅谈Java分布式架构下如何实现分布式锁

上传者: 2022-01-17 01:11:00上传 PDF文件 79.96 KB 热度 16次

    互联网秒杀,抢优惠卷,接口幂等性校验。造成多个减库存操作,只减少了一次。打开了两个jvm进程,jvm进程锁失效。  用nginx做负载均衡,启用两个服务。Springboot结构中咱们运用这个:  stringRedisTemplate.opsForValue().setIfAbsent(),它底层是对setnx的封装。  这时分程序履行到没有释放锁,即key值一向存在,在发动web服务的时分其它线程也一向不等待。  用两行指令履行咱们能够换成一行的指令,及设置key值的时分,一起设置时长,stringRedisTemplate.opsForValue().setIfAbsent()。  这样写的化问题还是有的,假如你设置超时时刻为10秒,而我履行事务代码为小于10秒,还没履行完,就把锁释放掉了。高并发场景下你不能决议履行顺序.  能够不能够自己加的锁,自己删去,别的线程不能进行操作?

用户评论