您当前的位置: 首页 >  zookeeper

一一哥Sun

暂无认证

  • 4浏览

    0关注

    622博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

基于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             
关注
打赏
1665624836
查看更多评论
0.1630s