00:00
我们配置好cur framework之后呢,啊,咱们就可以去玩一下里面的分布式锁了。那么K里面最重磅的一个锁是哪个锁呢?它就叫inter pro,那是ma takes这样的一个所。那么这个锁呀,它是类似于re ENT lock的这样的一个可重入。可重入,那么只是呢,它是一个分布式,分布式版本的。OK,那么这个东西该怎么去玩,我们呢,可以先去认识一下这个类啊。那我们可以呢,去搜索一下啊,这个叫inter inter,然后是m takes啊这样的一个类,那么这个类呢,它是一个,嗯,什么东西呢,来看啊。那么它是一个普通的类。那也就是说我可以直接去用,咱先看一下它里面有哪些方法啊,来一个啊F12看一下。因为首先呢是各造法,我们可以初始化一个interprise MU。
01:04
那最常用的啊,就这个东西了啊,就是这个参数最少的这个构造方法啊,非常简单,咱可以呢,把这个东西啊copy过来,可是放在这个地方。那么这里面呢,有两个参数,一个是cur framework客户端,哎,我们之前呢已经初始化好了,将来呢我就放在这个位置就可以了。那么这个pass呀,就在分布式所里面这个路径,那将来呢,它会基于这个路径啊,给我们创建一个根节点,这其实会作为一个根节点的一个使用啊。啊,那么然后呢,我们再去。啊,看一下咱们还有哪些方法,那作为一个锁,那么肯定是要有加锁和解锁方法啊。那么这里的话呢,加速呀,那主要是使用这个归方法,然后呢,还有一个带超时时间的啊方法,那咱一般呢,就使用这个没有时间的这个就可以了啊K,那么这个方法呢,就是我们加锁的一个方法了,咱可以呢把它拷过来,把它放在我们这个地方。
02:01
啊,那么然后呢,我们还有解锁方法对应的,我们也可以去看一下啊,那么解锁方法呀,就是这个release子方法啊,它是我们的解锁方法也给它拷贝过来,让它放在我们这个地方。那我们这个p process muex啊,这个可重工所啊,最核心的方法就这三个方法。那么这三个方法怎么去实现咱的所能怎么玩呢?对吧,我们先去玩一玩哈,先会玩的,然后再去聊一下它底层原理。好,大家废话,废话不多说,我们就直接呢开整来找到我们这个stop service来去改造我们的这个dedu这个方法,咱可以把这个方法呢,再次拷贝出来,然后给它放到啊这个上面去,那么然后这个方法呢,咱们怎么去命名呢?啊,之前已经到八这个位置了,咱们改成一个九。那么然后呢,咱把这个方法呀,给它还原一下啊,把这个呢,全部给它删掉。然后这些呢,也全部给它删掉啊,删掉之后呀,我们就格式化一下。
03:02
那么首先呢,我们肯定要去注入那个frame framework客端啊,把它给整进来,那么整好之后呀,咱们再来去看啊,我们在这个里面要进行加锁了。Now掉初始化一个可重入索来,另外一个叫特prois。MU。那么这里面呢,大家把这个key fromwork给它放进去,那么第二个参数呢,就是我们这个路径啊,咱们可以指定一个,比如大家指定一个啊key,然后呢是locks。哎,这样的一个路径,那最终返回结果及等你返回一个呃,Ma text对象。那么然后呢,我可以通过这个me text里面的呃酷阅方法来进行加锁,然后呢,在finally里面来解锁。由于呢,我这个加锁方法也可能会有异常,所以呢,咱给它放在这个TRY里面去啊,把它放在TRY里面去,来一个吹啊catch finally,那么然后在这个分里面来进行解锁。
04:02
好,那么我们可以呢,来一个me text,点上就是release,那么解锁呢,也可能会有异常,所以呢,我们要对这个解锁方法呀,再次来一个垂开启啊,所以呢,你会发现啊,这个K位这个分布式锁呢,玩起来还是有点别扭的,它跟我们之前的分布索呢都不太一样。但是呢,只要我们稍微玩一下啊,就应该可以习惯了。OK,那我们这样呢,改造好之后呀,我们来去试一下啊,这个东西呢好不好用。好,那么首先呢,我们来去把这两个服务啊,给它重启一下。啊,冲击好之后呀,咱们把这个里面的库存数量改成啊5000件库存。那么改好之后呢,我们再去找到这个压力测试工具,我们就直接去压一下啊,啊,看它的性能啊怎么样,那能不能做到这个线程安全。好,我们来去运行压力测试工具啊,来去运行一下来走。它最终效果怎么样呢?
05:00
因为这个并发量呢,啊,才300多并发量啊。啊,逐渐在递增。因为这个最高的时候呢,也就400多并发量啊,跟我们那个分布所呀,都没法比,那我们那个呢,呃,正常水准的话应该是550。那么偶尔的话呢,可以标到600啊,他这的话可到四百五这个位置,所以呢,别人实现的呀,也不一定是好的啊,我们的实现其实也挺好的。啊,那么最终这个库存数量是多少呢?来看一下已经变成零了,那说明啊,它这个东西呢,也可以解决啊,库存创办一下啊,可以做到县城并发安全使用啊。好,那么咱们这个,呃,Rise me takes分所,那我们就基本呢演示完了。啊,你们都学会了吗?啊,主要是这三个方法啊,一个是构造方法,那么还有一个是加锁的方法,以及呢是解锁的方法,那你只要会这三个方法,咱们这个锁呢就会玩了。
我来说两句