00:00
好,各位同学大家好,接下来我们为大家介绍第九章redlo算法和底层源码分析,那直面意思啊,这个是不是叫红锁,那实际上而言啊,它是write分布式所的官网的解决方案,它是对我们第八章有意的深入和捕通,那么请同学们两张一定要完整听完毕,来,同学们请看一眼,当前代码为8.0版本,OK,接我们的上一章一句话,现在呢,我们自言了这个ready分布式锁,一点点抠,一点点加,一步步的演示啊,以及给同学们写到了8.0版本,那接下来我想请同学们思考并总结一下,这个面试题也是人家问过的,那么抛给大家,你觉得你现在能不能够清晰的回答出来,会碰上哪些问题?这位求职者。请你说一下,如果让你来写一个基于red的分布式所自言一个,那么请问你有哪些思路好?同学们,你觉得这道题的面试回答重点应该有哪一些注意?刚结束了上一章,另外大部分同学一定要注意有这么几种情况啊,第一个。
01:25
收藏不看啊就不说了,我录那么多,其实有时候也挺灰心的,真的一次一次的认真的录,不见得有人能看到这儿,但是依旧尽量的为大家提供良好的技术辅助和辅导。第二个看完一遍扔了,哎,反正有个印象,这两种可以这么讲,你完全在浪费你自己的时间。第三种开始有点希望,基本上你认认真真的努力个三五年,年薪30万左右是不会低的,能够从头到尾看完一遍,且亲自动手敲一遍,能够敲通,他做过一遍他能出手,你只要做到第三步,基本上你已经淘汰掉80%的人了啊杨哥做教育这么多年了,很多人不是你笨,不是你。
02:21
学不会,而是可能比如说第八章我们讲了接近30集吧,看到第十集以后,人就没了一半了,好第四种,那么也就是能够看完敲完,并且形成自己的笔记,你不要认为杨哥把脑图发给你了,这是我的,不是你的。那么你能不能够形成自己的笔记,并上传到你自己的gib或get账号,我自己能够手写一个分布式锁,这个内功我出来了,但是他还差最后一步高度的总结和复盘。比如说现在我就问你这个问题了,我是面试官这位求职者,你说说你准备有哪些思路展开写好,我先暂停一下录屏,同学们可以讨论一下。那么同学们第一个既然是锁,我们是不是应该有如下这几个思路,第一种你自研一把分布式所,你觉得面试中要回答的主要考点啊,咱们也不用事无巨细什么都跟面试官说,像流水战一样,起码面试官我觉得主要就是三个东西,第一个按照GUUC里面lock接口规范编写,弟兄们,我们大家都清楚我们这个是个类,我们是不是实现了这么一个lock接口,Lock接口是不是Java原生包里面GUUC包里面所有锁的规范,你按。
03:46
按照这个接口把里面的这些规范和对应的方法全部实现一遍,那你告诉我这个人家绝对挑不出你有什么错,对吧?你不可能比勾UC的原作者道个利大神还牛逼。第二个问题,那么考虑到我们的各种前面的小细节和小毛病,那么主要lock按lock这两个方法,那么他要完成的是加锁,自学续期,以及还有我们的什么重试机制,超时等等,那么也就是保证了我们加把锁的一个特性,对吧?独占、可重入,高可用等等。所以呢,我们可以整顿明白,所谓的加锁实际上就是在re当中给key设置一个值,避免思索,且给定一个过期时间。那么来看一眼我们当时家属的逻辑,弟兄们三步OK,第一个。
04:39
Lock其底子而言就是调用了一个鲁瓦脚本,我们是用哈希的数据模型h set替代了set NX,因为只有用h set才可以保证加锁和可重入性,这是红框框的内容。第二个部分我们加锁加不成功的话,我们要明白需要用Y啊进行重试并自学,切记严禁这个里面是空的,你别根本就没有暂停,不停的去Y,要自学只会打满CPU,好歹停多少多少毫秒,以这一步一定要有。第三一个自动续期加个钟对吧,加锁成功立刻后台开启一个监控的扫描的这么一个线程给你来检查好,这是我们加锁逻辑,第三一个解锁,那么大家呢都清楚,对于我们而言,假设。
05:34
在我们的5.0这个版本啊,弟兄们都明白。如果说解锁最怕的是不是就是张冠李戴把别人的锁给干掉,所以我们要做的事情将key这个键要删除,但也不要乱删,不能说客服一把客服二的锁给删掉了,只能自己删除自己的,所以我们的解锁逻辑弟兄们两步,第一个考虑可重入性的递减,加几次就减几次,最后到零了,直接把我们的底delete干掉,OK,就红框框这一步。所以如果面试中回答一定要注意自研一个锁100%先要回答这句话,实现洛接口的规范,然后考虑到我们业务的复杂度和各种特性,完成lock and lock该如何编写,那么对于上面自研的red所一般的中小型公司,不是特别的高并发场景足够用了,那么这个小业务。
06:39
扛得住。那接下来我们的问题是一。我们呢,写到8.0这个版本了,该有的也够了,下面这张图我觉得同学们也快看吐了。我的问题是,如果我们的并发性更大,请告诉我,我们目前所写所考虑的还有哪些潜在的问题和隐含的bug?
07:11
弟兄们请思考好,我先暂停一下录屏各位同学的回复和讨论。来red分布式锁redlo红锁红锁算法distributed lock with red什么叫基于register分布式锁?那么跟我们这个字研的不一样吗?那么你为什么要用官网的这个呢?来,同学们,咱们先来看看官网的主页说明,在这个地址这。Write是绝对天生可以支持我们的分布式锁,OK,来吧,这么一大段,突然这扩red lock为什么叫这个哪来的?清楚了吧?那杨哥,对不起,这个主页说明看不懂,别着急,凡事都要来自于官网,我给你翻译好了,来。
08:12
所以它这儿我们先来简单的读一下上面的翻译下不同进程必须互斥的方式使用共享资源的需求环境中分布式所非常有用的渊源,对吧?啊,巴拉巴拉巴拉,这一大堆好,关键是它这有一个问题,本页描述了一个更规范的算法来使用red实现分布式锁,我们提供了一种称为redlo的算法,它实现了我们认为比普通什么单实例方法更安全的DML。所以我们希望社区对其进行分配,反进行分析,提供反馈,并将其作用实施或更复杂的设计等等。你只需要读懂一句话,它实现了认为比普通单视力方法更安全的分布式锁管理器。
09:00
那杨哥你想说什么?对不起,我们目前写到这儿,纯粹代码细节层面而言,问题已经不大了。问题只有一个,请问我们实现所和存储的red分开,我们的red分布数锁是另外一台机器不和你抢,可这有且仅有一台。假如说这哥们挂了,他还不是说这个key有没有,是否能见,是否超时哦,是否可重做,是否被删掉,是直接这台red单机挂了。请问你思考一下我们的red分布式锁业务该如何进行?这个就是我们为什么要给大家介绍我们的官网级别的redlo,也即我们后面所实现的red sun。最专业的red分布式所。
10:02
那杨哥这个red萨red他儿子字面翻译对吧?我们会发现red洛是一种基于red来实现分布所得一套规范设计和理念,直白了就是安特尼兹red支付他提出来的,为了支持red在社区的广泛使用和传播,明确的告诉你。这个理念底下的落地实现,几乎支持目前主流的全部开发语言,有go,有Java,有C加加,所以你用ready来做分布式锁是非常有益的,怕你搞不定。给你解决了容错问题,给你解决了代码的编写问题,那么告诉你要用red sun,那么好,杨哥,我为什么要学这个?它怎么来的?有什么好处,给我一一道来来之前我们手写的red所有什么缺点,我相信这个大叉叉一画上去,同学们秒懂你现在确实了red分布式锁的全部代码编写,但是你架不住单机单点故障,这台机器宕机啊,基于此,我们来来找找我们的官网。
11:21
他就告诉你为什么仅凭故障转移容错去实现是仅仅不够的,那么告诉你这些步骤。安全性。是不可以获得确保的,很严肃的提出,OK,因为你这台机器都没了,哪来的red分布式所好官网证据1234步杨哥分别什么意思?重点大家请看。给大家做了一下官网的翻译,哎,我虽然说每次都跟大家说就是凡技术必登官网,但是大部分同学也就记了个网址,不会看,后来没办法,我在教学上只好逼着你看,好吧,我把整个网页给你翻译了,你给我看一下,那么漏眼啊。哎,再多说一句,同学们真的不难。
12:14
OK,基本上就可以了好不好?看看官网,严格的理论依据也是来自这儿啊,加强自己的学习能力,那么来,他直接告诉你了。大多数基于的分布式所得现状就是锁定资源的最源方法是在实例中创,实例中创建一个key过期功能密钥,对吧?生生存时间内创建最终被释放,也就是被干掉了,那么好,当客户需要释范锁的时候,它会被删除,什么需要就借用完了删掉。我们之前都这么写的,表面上这很好,但有个问题,这是我们架构中的什么单点故障?好,同学们,我们不说别的,那可能同学们会说,你看杨哥懂单点故障还不简单,前面小白片你就给我们介绍过是吧?单机要是死了怕影响功能的话上哨兵。
13:09
Red卡上集群搞定,那么同学们你们思考一下,我们来写分布式锁的话,如果我们上集群可不可以集群嘛,多台机器三组三头,他妈给你六台,杨哥你拍一台,大叫我给你六台,这不就完了吗?对不起,请看一下如果register master大词怎么办?好,让我们添加一个副本slave,如果主人不可用,请使用slave从其上位。不幸的是,这是不可行的啊,也即我们之前讲的主从是不可OK的,在red分布手头,这这是官网的原话,这样我们无法实现互斥的安全属性,因为red复制是异步的,请看此模型存在竞争条件哎,获得了master中的锁,然后呢,他呢?在对密钥写入传输到副本之前,服务器崩溃了。第三副本被提升为主客户端B获取对同一资源A以持有的锁干嘛?那就麻烦了。
14:17
主机还没同步,给主机上有,但是主机突然死了,然后你B现在呢来做同样跟A的操作,从上位以后,机上是没有这把锁的,那么这个时候就会变成两个线程,可能持有了同一把锁,俗称一锁多写。所以在特殊情况下,故障期间多个客户端可以同时持有锁是完全没有问题的,如果是这种情况,你可以使用基于复制解决方案,否则我们建议实施本文当中描述的解决方案。听懂了吗?官网是这么给你个建议的,那么杨哥我有点不懂,能不能说人话,下面请跟着杨哥来啊,第一个我们呢,用sat n X或者是h set都可以啊,或者锁。
15:15
第二个异步的机制啊,把锁同步给master slave,第三一个突然出状况了,第三步master还没来得及将数据同步给slave,此时机器上没有对应的所信息啊,Master挂了,突然宕机,我还来不及同步给slave呢。那么Li瓦马上内部的选举上位,主通切换号从机升为主机,OK,也即Li瓦变成了新的master客服B照样可以同样的见所成功,OK,这个是B出现了可怕的一种情况,一所被多见多用,CP里面的CP一致性遭到了破坏,同一把锁出现在了两台实例上面,而且red无论单机主从哨兵均有这样的风险,所以我们大家呢会明白通过上面的步骤分解我们会常出现的脏锁,也就叫一所被多见,一所多见,一所多用的故障现象,我由于我们家的锁是排他独占的,同一时间只能有一个抓机锁成功并持有锁,严禁出现两个以上的请求拿到我们对。
16:35
对应的,比如说杨哥的一把z z YY red lock这把锁,这个是非常危险的,OK,基于此,我们就会明白,我们上面写到8.0版,纯粹从细节的角度考虑,就是代码层面差不多了,接下来就是要什么运维,保障层面,如果一个单点故障挂了该如何处理,这个就是我们redlo算法的。
17:04
诞生的初衷和他要解决的问题。接下来我们来说一下redlo的算法设计理念和分布式系统当中涉及到节点机器部署的必须要掌握的容错公式。下面紧跟杨哥听一下面试中需要回答的问题和对应的理念,咱们走。首先red之父他提出了redlo这个算法来解决上面这个问题啊,也就是我们所说的一所多见,你也晓得就是因为异不复制导致这个所丢失,从饥尚位不认账这个问题。第二个。这个单点故障咋整?带着这两个问题我们往前学习并思考,首先请看官网,它告诉你啊,仅仅是靠这个故障迁移它是不够的,然后呢?的作者,按雷斯呢,直接告诉你单机版的时候,你应该是是怎么样正确的实现,OK,那么来吧,弟兄们。
18:06
你要是设置一个锁,它让你用set n X,当然我们用h set比它的呢多考虑一些内容,然后也告诉你删的话呢,用多va脚本,这些没什么好说的,下面这个就是我们的红锁算法,好,来吧,这一大段弟兄们,出处来自于官网总结和对应的翻译,我们先来过一遍呢,他用来实现基于几个多个实例的分布式,所那杨哥为什么要多个实例呢?请看一眼啊。我们前面的官网翻译首先直接告诉你,如果master不可用,我们添加一个副本,如果master master不可用,请使用它,不幸的是这是不可行的。OK,所以呢,一定要搞清楚,那么基于此它有新的想法来,干脆你基于几个多个实例的分布式,所哦,那我明白了,杨哥再来一份,这个词别的还能成,这不就集群吗?
19:15
真是这样吗?看好,所变量由多个实例维护,即使有实例发生了故障,所变量仍然是存在的,客户端还可以完成所操作。red lock算法是实现高可靠分布式锁的一种有效解决方案,可以在实际开发中使用好。那么弟兄们请看啊上下翻译大致的意思,他说在算法的分布式版本当中啊,我们假设有多个red主节点,注意这些节点是什么,完全独立的,所以我们不使用复制或其他影视的协调系统。原来为了避免单点故障,安特雷斯呢斯支付直接告诉你我们上多台,懂了,杨哥,那么下面意思就是说,我们这儿实际而言可以有多个red来给你单red锁的机器实例,这台死了没事,这台还活着,还可以从这拿到,那么对外暴露就是一个类似于集群的red分布式锁,那你可那杨哥不用讲了,无非就是多上两台机器,不就是你刚才也说了集群对吧?我们讲过,注意我说的是类似实质而言,请看这句话,关键的这些节点是完全独立,既然是完全独立说明什么?他们通通都是马。
20:36
不存在主从的关系,所以我们不使用复制或其他任何其他的影视协调系统。OK,我们已经说过了,如何在单个实例当中安全的lock按lock对吧?我们想当然的认为算法会使用这个方法在单个实例中获取左,我们的实例当中我们设置节点等于五,这是一个合理的值,因此我们在不同的计算机或虚拟机上运行五个red,什么东东,Master,你确保它们几乎独立的方式发生故障,所以我们在这,我明白不是集群,是多master,这么说弟兄们能跟上,好,那杨哥为了获取锁,它要执行一些什么样的操作呢?那么这一段字体比较小,我们在这。
21:22
重新讲解,最终就是它的解决方案这块,也就是我们大名鼎鼎的分布式的容错公式,OK,好,同学们请跟着我来,这个方案也是基于S加索路化脚本解锁进行了改良,那么这个理念它是描述了差的地方,大致呢是这样的,我们假设啊,五个注意什么节点,主节点啊,全是master,五个master啊,现在呢,没有什么助攻,全是主力团。OK,我们呢不再使用这个,它是这样的,首先获取当前时间以及毫秒为单位开启,第一次尝试从五个实例当中使用相同的key,比如说严格的YY red lock这把锁和随机值让就拥有ID value,当下请求获得锁的时候,那么客户端应该设置一个什么超时时间,就说你客户端来请求,这把锁不可能永远等着你,客户端卡在这基本上都是过时不候。
22:23
有点像我们那个出lock,我就比如说多少多少秒得不到,我就返回force了,那么当然这个超时时间啊,应该小于锁的失效时间,哎,比如说请给我这把锁,我等你三秒钟,小于锁的这把expire,那么这个的TTL的这个时间假设是十秒,OK,那么假如你的锁自动失效时间就十秒钟,那么这个超时时间是在50毫秒以内,哎,那么这样,如果还是有懵逼的同学,那么请大家注意啊,我们呢,先按照这个goc的这个话来讲,那么大家都清楚我们lock lock的话是不是有过这种东东叫re lock,大家呢,都清楚啊,那假设啊,我public word me,假设我这写一个方法,咱们是不是说过这种东东,比如说lock点这个叫lock,对吧,第二种叫lock点什么try look听不听得懂,那么假设啊,这个呢,就是我们呢,就是来一个十,那么time。
23:23
OK,我尝试着要获得锁,直接呢,就是等多少十毫秒钟,我希望你能获得对吧?这个是我请求锁的时间,OK,一定要注意,那么在我们这儿这个是锁的自动失效时间,就是我们用TTL来验证那个锁,OK,那么这样可以防止客户端试图一个弹词对话时间过长就处于阻塞,我本身就是要求十毫秒当中,你就要给我锁,给嘛就给,不给的话我返回过去,对吧?好,这是这样,如果这个锁不可用了,客户端应该尽快的去尝试,去另外这个right实列请求或者锁,注意我们现在是多个了啊,它这几个五个,你就当做我这就不再粘贴五个了。第三步,客户端通过当前时间减去步骤一所记录的时间来计算获取锁的时间,比如说一直线到这是个什么时间,我要等多长时间十。
24:23
毫秒给我我就干活,不给我我走人。当前简单大多数的节点都获得到了锁,一般就是什么半数过票,OK,那么假设啊,这是三个节点,那么只要是什么三除二。1.5取整,那么就是一一加一多少?二这三台机器里面有两台都拿到手了,并且或者小这个锁的时间锁就获取成功啊,意思就是什么?过半有效,如果其他锁其真正有效时间等于初始的有效时间减去或所使用的时间,那么也就是我们这个步骤三计算结果,如果某些原因未能获得锁啊,对不起,三台里面没有两台同意,那么客户端应该在所有的red实例上进行什么解锁?注意所有的red实例上,而不是单个哦,因为某些实例呢,根本就没有加锁成功,防止某些节点获取到锁,但是客户端没有得到响应而导致接下来这段时间不能被重新获得锁,所以。
25:24
为了避免这种数据不一致的问题,他直接舍弃了一步复制,我们现在全是master节点。有点类似,要保证CP我舍置了,舍弃了slave没有从计都是主力团保证可用,引入了N个节点,那么官方建议呢是五,那么同学们,我们大家呢都可以看到这个红锁的这个算法,OK,那么来这块的时候它呢是五个master,那本次后面呢,我们教学杨哥呢用三台来做说明,客服端只有在满足下面的条件,这两个才能认为是加锁成功,我才认为你们是一个整体的re,分布式锁,我从任何一台机器上获取第一个半速过剩,第二个获取锁的总耗时没有超过锁的这个有效时间,就是它是一把有效的锁,OK,好,那么这个就是red分布式锁的设计理念,那么接下来就是容错公式,好。
26:31
你前面讲了单机不可取,官方推荐是舞台用redlo,那杨哥为了好教学方便,我们用三台,因为三台它也可以半数通过,达到同样的效果,这是最小的啊,一般配个类似于这样的多机集群的话呢,都是用激素,那这是为什么呢?同学们请听杨哥分析来。我们呢,搁到这儿啊,现在。
27:06
注意,三台都是master red集群的话是只支持AP高可用,那么我们为了解决CP的风险,采用N个节点,N为奇数,上面的三个master各自独立,不是主从或者集群,那么下面我们的容错公式N等于2X加一,N是你最终需要部署的机器台数,X是容错机其数。好,这个要求同学们把这个公式背下来,下面这个到底是什么?允许杨哥慢慢到来说人话,先说X,再说N,他的意思就是说X是死了的容错机器数,说白了就说,我希望我这个系统或者我这个需求死了一台机器也能保证对外营业,对外服务。那么请问死一台。
28:12
也要保证整体能用,那么请问我最少要布几台?那么假设你的X是一,死一台以后也能用,整体不受影响,那么就是二乘以一等于二,二加一等于三,最终这个N就是三台,也即假如说你需要死一台整体不受影响,还可以多样套路提供服务,那么你最终部署机器做就需要是三台。第二种杨哥,我想做的更加的高可用一下。我希望死了两台机器也还能用,那么请问最终我要补多少台?那么二乘二是四,四加一是五,也即五台里面死了两台还能对外暴露提供服务,这种情况下你要达到最终你的机器部署数需要五台,同学们能听懂吗?那为什么是这样呢?请大家看,首先要先知道什么是容错,失败了多少个机器以后,我们还是可以容忍的,所以容忍就是数据一致性还是OK的,CP的一致性可以满足。我再次强调,一般我们说的red集群是AP啊,那个是主从样的东东,什么有哨兵啊,有集群样的,现在没有主从,全是master,跟我们之前讲的AP是两回事。这次的容错公式是保证CP,那么现在加到这个集群环境当中,三台master是不是多台,他们的三个是不是也可以叫集群。
29:46
对吧?三个主力失败一台可接受,那么补三台,死了一个,剩两个可以正常工作,那就补三台,部署五台,死了两个,剩三台可以正常工作,那就部署五台,OK,那么第二个为什么是激素,因为用可以用最少的机器产出最好的效果,因为有同学可能会问那杨哥为什么不是2X加二,假设X直线二乘一等于二,二加二等于四,意思就是四台里面我死了一台也能用,那么这个时候回答我,你布三台和布四台的效果是不是一样啊?所以我们部署最少的机器。
30:22
达到最多的产出,所以我们这儿一般都是加一,那么加入集环境中,如果你说我不我要加个二,那么请大家看这个时候是不是等于二乘以一加二四台,那我部署四台机器死了一台还是能够用,这不跟三台的效果是一样嘛,所以从少部机器的角度,我们完全可以是2X加一足够了,OK,好,那么同学们,这个就是它的对应的算法和容错率。通过前面我们分享了red lock算法的设计理念,一句话,现在我们根本不关心你是死是活。官方推荐舞台,按照我们的容错公式,我们用最小的。
31:09
一台机器挂了,你要能保证能用,那么我们只需要部署三台,这三台都是master足够了,不存在什么异步复制,我们通过red lock这样的算法打包了以后,你们仨就一整体,偶尔有一台蛋机了,无所谓,根本不受影响。这两个继续能够继续使用,有点类似于一部战动机,屁股后面有两台发动机,有一台发动机熄火停车了,另外一个继续能用,摇摇晃晃的也能给你安全稳定的着陆,不存在死一个全局挂的情况,那么就一点半数同意,压过半数就OK好了。那么天上飞的理念必然要有落地的实现,不管怎么着,我们需要有干活的人和干活的框架。那么对于我们的red lock,大家搂一下,这是不是有个叫right sun。
32:06
我们老规矩,杨哥不可能把上面的话呢全部给你讲完,一定要来自于官网或者是get up对应的源码库,有什么问题来这查,我们可以什么大体的粗略的先看一下,那么来弟兄们,我们说过啊。这个加吧,就是你没有接触过,你可以看得出它这是不是什么集群,也好添加这个节点地址等等,那么这些代码就是给了你一个抄作业的地方,我们强调过,只要ready sun源码库进来了,一般落在code这,这是录源码的,那么get clock或者是你自己下载。第二个要看的什么,永远是它是不是它的vcky OK,那么英文和中文点开我们的中文对吧,对吧?来,弟兄们直接我现在让你来学好,最右边这是目录,那假设现在没有阳哥了。
33:08
你自己学,你应该点哪个,那么现在我们是不是要说的是分布式锁呀,那么这时候是不是distributed的lock andize同步器,分布式锁和同步器一点开,那么好第八章直白的告诉你锁诶,哦,那该怎么写,诶,Ready get lock,那么这个是不就是我们的那个T获得所以后洛,然后finally unlo,我去那杨哥这个是不是就跟我们自研的那个大差不差呀,我们自己写的用一个工厂方法是不这么一个动东,然后完了以后get,然后再落,只不过我们是用goc这个lock,人家专门提了给你这么一个中间键叫red lock接口,那么大家请看是不是有接口,先从red丁上给你获得,然后搁到这好几把锁呀,一把锁我就是没讲你也明白,单击,那么下面弟兄们,我们不妨来。
34:09
看看在这儿是不是有穿lo,是不是也就告诉你你等待的时间啊等等,这个是不是也跟刚才我们所说的这种东东类似啊,好,第二种情况,第三种情况,弟兄们我们找找啊,请看这是公平锁,那么再来干嘛?Mark lock,请大家看。几把锁三个,那么到后面你自然而然就会明白它是不是就是三台机器里面要保证死了一台,避免单机也能用,那么这个时候说明什么?可以是不是就是多把锁来绑在一块,形成一个全master的集群,完成我们的对外暴露和服务啊。哎,所以说弟兄们就是没有杨哥了,自己翻翻官网代码照着抄吧,那么所以呢,也要能够自学好。那么打开这我们来说一下它的实现怎么来的writing sum是Java的write客户端,提供一些API的方便,它的官网叫red org,那么也就是这个啊,那么他就告诉你了,那么quick star该怎么用,可以这么讲,你们公司啊,要么用自研的所,你自己写啊,假设用的小的,小范围的使用,并发量不是特别大,如果你说杨哥我不放心,直接用它。
35:33
足够你们公司用了啊,这是最权威最专业的,有这么多公司都在使用案例的话呢,啊,数据库的缓存,缓存,然后呢,这个网格化的Java等等,反正就是基本上啊red分布式锁在这块它是占有一席之地的。好那么第二个我们来说过了,这个get upb的地址,最终如何来解决这个red分布式数,那么来弟兄们,这个网址我们是不是前面也已经看过了,就在这一章,那么也就是我们的第八章,大家呢,进行一下学习,照着抄作业就OK了。好那么接下来我只告诉大家理念落地的实现。
36:16
来自于哪的理论说完我们接下来喽,对不起喽,我们是不是就要引入我们第八版程序后面的第九版,通过ready来改写我们的。库存为服务程序。
我来说两句