本文介绍: 主从复制:主宕机之后,主节点原来负责的哈希槽位将不可用,需要节点代替主节点继续负责原有的哈希操作。1,数据分区 :是集群的核心功能每个主都可以对外提供读,写的功能,但是一一对写入主的对应节点。不是报错,表名客户端尝试读取键值test1,但是实际槽位在4768,集群要求客户端移动到4768 槽位所在的主机节点获取数据哈希槽位的值是连续的,如果出现不连续的哈希值,或者有哈希槽位没有被分配,集群将会报错。集群模式当中,主从一一对应,数据写入和读取于主从模式一样,主负责写,从只能读。

rediscluster集群:

redis3.0引入的分布式存储方案

集群由多个node节点组成,redis数据是分布在这写节点之中。

在集群之中分为主节点和从节点。

集群自带哨兵模式

集群模式当中,主从一一对应,数据写入和读取于主从模式一样,主负责写,从只能读。

集群模式自带哨兵模式,可用自带实现故障切换,但是在故障切换完成之前,整个集群都不可用。切换完毕之后,集群会理科恢复

集群模式按照数据分片

1,数据分区 :是集群的核心功能,每个主都可以对外提供读,写的功能,但是一一对应写入主的对应节点。在集群模式中,可以容忍数据的不完整。

2,高可用:集群的主要目的。

数据分片实现

redis集群引入了哈希槽的概念

redis集群当中16384个哈希槽位。(0-16383)

根据集群当中的主从节点数,分配哈希槽位,每个主从节点只负责一部分哈希槽位。

每次读写都涉及到哈希槽位,key通过CRC16校验之后,对16384取余,余数值决定数据放入哪个槽位。通过这个值去找到对应槽位所在的节点,然后直接跳转到这个节点进行存取操作

哈希槽位的值是连续的,如果出现不连续的哈希值,或者有哈希槽位没有被分配,集群将会报错

主从复制:主宕机之后,主节点原来负责的哈希槽位将不可用,需要从节点代替主节点继续负责原有的哈希操作。保证集群正常工作。故障切换的过程中,会提示集群不可用。切换完成,集群恢复继续工作。

实验

systemctl stop firewalld

systemctl disable firewalld

setenforce 0

修改配置文件

vim /etc/redis/6379.conf

bind 0.0.0.0

保护模式关闭

protectedmode no

后台进程打开

daemonize yes

打开aof持久

appendonly yes

cluster-enabled yes

打开集群配置文件

cluster-configfile nodes-6379.conf

取消集群的超时时间设置

cluster-nodetimeout 15000

重启服务

/etc/init.d/redis_6379 restart

一台创建集群

redis-cli -h 192.168.176.71 –cluster create 192.168.176.71:6379 192.168.176.72:6379 192.168.176.73:6379 192.168.176.74:6379 192.168.176.75:6379 192.168.176.76:6379 –cluster-replicas 1

replicas 1规定一个主只有一个从。

主从的配合是随机分配的。

在集群模式当中只能选择0库,集群不能切换库。

查看集群节点:

CLUSTER nodes

不是报错,表名客户端尝试读取键值对test1,但是实际槽位在4768,集群要求客户端移动到4768 槽位所在的主机节点,获取数据。

MONITOR 从库哨兵模式ping自己的主机

故障模拟 自动切换:

当一个主挂了 192.168.176.72

恢复之后主变为从

总结

集群流程

1,集群自带主从和哨兵

2,每个主节点之间相互隔离的,可用容忍数据的不完整。目的:高可用。

3,哈希槽位决定每个节点的读写操作,在创建key时,系统已经分配好了指定槽位。

4,MOVED不是报错,只是提醒客户端去分配的槽位节点,获取数据。

nginx代理转发数据

关闭防火墙

vim /usr/local/nginx/conf/

proxy_responses 1;在集群之中只要有一个节点响应就会把响应传递给客户端,可用增加整个系统的稳定性。

只有有一个节点可以响应,那么客户端就可以继续发起请求。不会因为某个节点失效,导致整个请求失败。

原文地址:https://blog.csdn.net/weixin_51694382/article/details/134658561

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_4267.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注