00:00
好,各位同学,我们继续接下来我们给大家介绍一下集群的算法分片和槽位lo相关的高频考点和集群的重要知识来。首先这个知识来自于哪?第二个这些面试题均来自于杨哥教导过的学生,这些老学员们给我相关的反馈,那么我都给大家整理好,这些就是常考常问的red集群的高频考点,再次强调学操作。真的不重要。PDF文档一步步照着操作,写个脚本自动构成都没问题,但是理论面试的原理这个非常重要。好,下面同学们lawyer打开一下我们的官网,这个就是我们red,来看一下red集群的主要的组件,其中第一个就是key的分布式模型,那么来这呢?就是两段话来算法哈西槽,诶什么CRC16这个T,然后MOD16384,那么请同学们呢,简简单单的看一下这个,如果你英语好,OK,那么对于英语不好的同学,那杨哥呢,给你呢,直接呢谷歌翻译一下,那么请同学们呢,Lawyer大概左右对照,那么请看看你能不能看得懂。
01:17
好,给大家呢一点点时间做一下课堂小练习啊,甭管你现在读成什么样,那么各位小白别着急,杨哥挨个挨个跟你说,首先他跟你说的是集群的这个T。基本上split into,那么那个split分割那个方法,16384,那么下面的问题是我为什么到16384。那么我们大家都明白啊,整形整数是二的32次方,对吧,16384根本就是绰绰有余的,它为什么没有顶到最大,好第二个它有效的只设置16384个主节点集群大小的上限,但是建议最大节点的大小多少1000个,哎,所以说这个就是为什么面试的时候人家会考,你说你们公司这个主通节点配多少个,你们集群啊,能不能超过1000个,你说能2000多场,那这时候OK,行了,这就是我跟你讲的,能面试上,可能你面试大厂就没什么机会了。再次强调,凡技术看看官网,我不认为这个叫什么卷。
02:15
OK,那么你那杨哥的技术要给大家讲课,那中扬你讲的对吗?你这个瓜包熟吗?对吧?是不是也要找理论出错好,所以呢,在这块读完以后,那同学们了解个大概,混个眼熟,那么接下来跟着我来先说第一个问题,什么是什是right圈的槽位S洛下面呢,在讲之前啊,我们先回到我们这个架构,想一个问题,以前单机的时候赛K1 V1 get k1,好说冤有头债有主,我以前只有一台机器,我就对你写,我就对你读,但是对不起,现在你们是三台机器了,那么到底是存给M1呢,还是存给M2呢?还是存给M3呢?这个落脚点我写进去的时候,我就需要支持知道某种算法。
03:03
OK,好,那说难听点就有点类似于你来上硅谷报名,你是不是应该找到一个接待老师啊,有可能你报名老师和你接待的这个老师他不是同一个人,但是起码你要提供一种算法叫接待。第二个问题,假设你进去以后好落到M2上面,那么请问这个是喜,那么取的时候还能不能找到对应的你的落脚点,再从原位置读出来呢?答案是肯定的,这个就是集群的好位。来请大家看瑞斯集群呢,没有使用一致性哈希算法,而是引入了哈希槽这个概念,它是这样的,根据我们官网的这个理论啊,就于说这些理论是为什么,安迪雷斯为什么要这么设计,后面我们详细讲,你现在就先记着一个两个正确的答案,第一个槽外最多是16384,第二个red的集群官网建议小于等于1000个以内,先记住这两个正确的结论,那接下来我们来来唠唠,集群呢,有16384个哈希槽。这个槽位你可以把单。
04:04
做接待的这个坑位。那么我去住宾馆,我住了一间。大房子有16384个房间,OK,那么每一个K可以通过CSC16这个校验以后,对16384进行取摸来获得我一个哈希槽,那么这个集群节点的每一个部分就负责一部分哈希槽。那么举个例子啊,假设当前集群的节点我有三个,它是这样的。你这个K它呢,通过CRC16集群内部的这个算法,对16384取moded来取模了以后得到一个槽位,那么在16384下边从零开始共是零到16383个,那么这个时候干嘛?相当于我们入住小区的门牌号,OK,那么现在如果你这个T算出来的是123,那么这个就是一号楼,二号楼,三号楼,整个小区有幺六,有16384个房间,那么这个时候它的分布分为。
05:06
一栋,二栋,三栋,那么一栋承受了零到5460,种个哈西草,那么二栋是5461~10922,注意这是这个是5461,这个是5462,这个是5461。假设我们最好的平均分成砍成三段,那么这个时候你就会明白了,假如说我们这个人要写一个数据,那么第一次写进去的时候就会碰上这个算法,那么这个算法就告诉你。你要去访问red集群之前,需要通过一个什么,类似于我们Java里面的DAO层,这个叫哈希槽概念,那么你这个K通过CRC16算法取MO16384得到一个坑位,那么由它在零到16383这个坑位里面给你找,然后来决定你的分派,OK,那么自然而然你是由这个算法算出这个坑位的,那么自然而然也可以由这个算法得到这个坑位。那么你存的时候,比如说K1算出来是123,我就存这个槽位,我读的时候是不是也可以用同样的算法再从这个槽位去读,有点类似于你去健身房存在12号衣柜里面是你的个人装备,那么你写进去,写进12号。
06:16
这个储物柜读的时候,是不是也从12号储物柜开始读取,OK,好,那么各位同学,这个就是我们瑞集群的槽位。
我来说两句