Redis:测试redis集群
程序员文章站
2022-03-10 15:36:13
...
1.声明
当前内容主要用于本人学习和复习,当前内容主要为测试前面的集群,看是否存在某些问题
当前内容基于前面:Redis集群的安装
2.连接测试
./src/redis-cli -c -h 192.168.1.104 -p 7001
进入成功!
3.测试添加和获取数据(使用不同的端口测试)
此时开启一个端口访问7002端口
./src/redis-cli -c -h 192.168.1.104 -p 7002
1.使用7001的连接添加数据name=admin
此时发现当前的端口被定向到7002端口,然后是通过7002端口写入的
2.使用7002端口访问name
3.向7002端口中设置name=guest
发现没有被定向重写,直接写入的
测试连接到7003、8001、8002、8003端口时获取数据都出现定向到7002端口
所以可以理解为7002就是当前集群的主节点,所有节点都是从节点
4.宕机测试
1.直接将当前的redis的主要节点7002直接宕机
ps aux | grep redis
杀死7002端口
kill -9 1769
2.此时再次连接到节点7002
./src/redis-cli -c -h 192.168.1.104 -p 7002
发现此时7002节点不可访问
3.连接到节点7001,并获取name值
./src/redis-cli -c -h 192.168.1.104 -p 7001
get name
发现此时获取到了数据,该数据被定向到8001节点(说明此时8001是主节点)
再次写入数据name=root
并获取空key:name
发现获取空key的时候当前的连接会出现移动到7003中,如果获取存在的key就会返回到原来的8001节点中
4.再次宕机8001节点
5.再次测试节点7003、7001、8002、8003等节点
此时发现整个集群全部都是不可用的
总结
- 6个redis的集群中只有两个节点,一个是主节点7002和候补节点8001
- 如果主节点7002出现宕机那么,候补节点8001就会代替7002节点并实现数据的接收传递
- 如果这两个主要的节点都宕机,那么整个集群则不可用
- 如果获取一个不存在的key那么会出现连接跳转到下一个节点获取
图解(个人见解)
所有节点都正常的时候
当主节点宕机后
再次出现主节点宕机,那么宕机的节点超过总主节点的一半了,此时整个集群不可用
5.总结
1.6台机器的redis的集群操作,实际上由两个节点可以使用(不能宕机),如果这两个节点都宕机,那么集群失败,整个都不可用
2.该集群连接并没有提供一个端口让我们访问,而是指定ip的连接,每次操作需要修改ip
3.该集群中如果访问一个不存在的key会出现连接跳转的情况
以上纯属个人见解,如有问题请联本人男!