您当前的位置: 首页 >  zookeeper

基于Zookeeper与Redis进行分布式锁的代码实现

一一哥Sun 发布时间:2020-10-24 13:35:16 ,浏览量:4

一.分布式锁介绍

由于传统的锁是基于Tomcat服务器内部的,搭建了集群之后,导致锁失效,应该使用分布式锁来处理。

二.分布式锁解决方案

我们要想实现分布式锁,可以使用两种方案:

  • 1.基于Zookeeper;
  • 2.基于Redis。

下面我分别就两种方案进行代码实现讲解。

先展示一段未加锁时的秒杀需求

创建SpringBoot项目,编写抢购的业务。

@RestController
public class SecondKillController {

    //1. 准备商品的库存
    public static Map itemStock = new HashMap();

    //2. 准备商品的订单
    public static Map itemOrder = new HashMap();

    static{
        itemStock.put("牙刷",10000);
        itemOrder.put("牙刷",0);
    }

    @GetMapping("/kill")
    public String kill(String item) throws InterruptedException {
    
        //1. 减库存
        Integer stock = itemStock.get(item);
        if(stock             
关注
打赏
1688896170
查看更多评论
0.1507s