(三.一)集群搭建源码分析&水平扩容

集群搭建源码:

水平扩容:

---------------------
集群搭建源码:

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到这个节点上呢?

广播并进行选举,一般都是手动将所有节点重新分配的。

发布了668 篇原创文章 · 获赞 12 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/xiamaocheng/article/details/105169349