集群搭建源码:
水平扩容:
---------------------
集群搭建源码:
Linux下环境的搭建:(略)
为什么从节点没有slot?
因为的从节点并不歪提供服务,除非发送故障转移的,从节点不会处理,集群环境OK,做个试验。
设置gJ的时候,有个命令也可以设置cluster keyslot k1 ,现在12706 是哪个节点的负责的呢,要从master节点找。
会受到一个client 的重命名个客户端,实现跳转,当前的提供设置,提供我们的客户端,
具体来一下分析客户端是如何实现分片的呢?
运行OK后,静态的配置,集群的客户端是如何做到呢?
定位到关键点:
跟进去之后:
传送进去的之后,集群这点的信息,基本信息的封装,授权的操作,缓存表节点更新处理,
三个数据的,第三个节点是我们的节点是这样的,如果说的我们的2000-5000 认为的话,也是非常连续的,
集群有3个处理,这样的A节点的获取的命令行获取数据,开始捷信
首先循环:
获取的槽点内容,拿到一个数组,遍历节点信息,
hashMap ,连接池建立之后就对应的就是3的,接着往下,首选会获取连接池的方法,拿到slot 之后,
建立连接池关系,说是0的-targetPool 对应的主节点的方法,完全的建立好的。到底有什么用呢?
到此集群分析完毕。
2.
set 操作:
拿到slot 分析,之后,getconection 获取的方法,读锁的方法,建立好映射关系的那一个。对应的连接池
拿到连接,连接业务的处理。刷个1,应该能理解。
get操作:
不同的主机会建立一个连接池。
还有一个对故障的处理,怎么办呢?
网络发生故障,不断进行重试,对应的节点的,对应的移除到其他的节点上,实验的方式
水平扩容:
如何进行水平扩容呢?
新的更新自己的节点,使用了gx协议,都会更新自己的权限。去编辑一下这种实例,
配置好实例之后,加上一个主从之后,加了一个redis 8007 conf grep redis,使用集群中的环境,直接使用cluster node
通过已经存在的机器,集群去了,集群的加到我们的集群中去了,任意一条集群之后的环境,
主从表的数据,通过class notes之后,其他都有一个slot ,0到5到0,通过reshared 命令
出现的命令,之后的整个集群的方法,移动1千个节点,必须手动进行操作。
Question:
slot就是张路由表,首先会判断并使用,选出一个新的节点控制的。
?1.为什么是16384节点呢?
但是我们说,最大节点是16384 节点。redis 是使用goosip协议的完成。
?2.添加节点后,怎么平均自动分配slots到这个节点上呢?
广播并进行选举,一般都是手动将所有节点重新分配的。