温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
好,我们来看一下咱使用组K跑怎么去实现分布式,分布式错,那不管用什么东西来去实现分布式错,那最终呢,我们都去保证这样的一个基本特征啊,就像呢,就独占啊排他这样的一个特征。那咱之前呢,是用red的这个set X指令,那么可以保证啊,独占排他。那么塞N的指令为什么可以保证不断排它呢?是因为啊,我们如果有多个请求或者说线程。那么同时来执行这同一个指令的话,只要你的K是一样的情况下,那么只有一个呢可以成功。那么这一个成功了的就相当于获取到锁了,那么然后可以执行这个业务操作啊。那么执行完了,那我再把这个呃K啊给它删掉,那么后续请求啊就可以获取到错。啊,那么在裸K里面,咱怎么做这个独占排他呢?好做K呀,我们呃做它的里面都是Z弄的节点啊,那么Z呢,这里有个特点就啥呢,就是不能重复。
01:01
啊,比如说呢,我在这个杠啊,这个根节点下面,那么可能有一个啊log啊这样的一个节点。那么假如说呢,给它创建一个lock这样的一个子节点啊子节点,那么假如说我同时有多个请求或者线程,那么都去创建这样的一个lock子节点。那么只有几个可以成功的,哎,只有一个可以成功。那么这一个创建成功了的,就相当于获取到锁了,那咱可以执行这个业务操作啊。那么执行完业务操作之后呀,我们再把这个节点呢,通过delete指令啊给删掉。那么删掉之后呢,后续请求啊,就可以去创建这个节点啊。然后这样的话呢,啊,也可以进行业务操作,那么周而复始这个样子。那么他就可以知道独占排他。好,那我们可以演示一下啊,比如说呢,我们在组K客户端里面啊,我们来进行创建一个。啊,杠,Locks。
02:02
Locks,然后是杠lock这么一个节点。啊,那我也可以说,哎,首先呢,它为什么呢,他说不存在这样的一个呃节点啊,你首先得要有一个lockx这个节点,那在可以呢,先创建一个啊杠locks这个根节点。那么这个内容啊,我就可以不用指定了啊,我就不指定了。那它是可以是没有内容的啊。那么然后呢,我再来去创建啊,这个拉斯lock这个节点,好,那我有飞车已经创建成功。那么啊,我这里呢,已经有这个节点了。如果我其他线程或者说请求也去创建一个相同的节点。那么能不能出现成功呢?勒直行走,面对创建失败,他说呢,呃,这个节点呢,已经存在了。啊,所以呢,在里面节点呢,也是不能重复的。好,咱们就可以利用这样的一个特征来做到独占排它,好自然这个zoo key分布的一个最基本时间了啊。
03:01
好,那我们就基于这样的一个东西来去实现,基本实现我们的分布图,但是后续的话呢,我们还可以进行优化啊。
我来说两句