redis集群

一、redis-cluster集群概述:

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

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

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

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

集群模式自带哨兵模式,可以自动实现故障切换,在故障切换完成之前,整个集群都将不可用。切换完毕之后,集群会立刻恢复

集群模式是按照数据分:

  1. 数据分片:是集群的核心功能,每个主都可以对外提供读、写的功能,但是数据一一对应写入主的对应从节点。在集群模式中,可以容忍数据的不完整。
  2. 高可用:集群的主要目的就是高可用

数据分片的实现:

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

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

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

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

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

主从复制的意义:

一旦主宕机之后,主节点原来负责的哈希槽位将会不可用,需要从节点代替主节点继续负责原有的哈希槽位。保证集群的正常工作

故障切换的过程中,会提示集群不可用。切换完成,整个集群恢复继续工作

创建集群的时候,所有数据库不能有任何数据

二、redis实验:

关闭防火墙安全机制

六台主从服务节点全部相同配置:

vim /etc/redis/6379.conf

70行

89行

保护模式关闭

137行

开启守护进程

700行

aof持久化打开

832行

开启集群

841行

读取集群的配置文件

847行

设置的超时时间

重启redis

redis-cli -h 20.0.0.41 --cluster create 20.0.0.41:6379 20.0.0.42:6379 20.0.0.43:6379 20.0.0.44:6379 20.0.0.45:6379 20.0.0.46:6379 --cluster-replicas 1

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

主从的配合是随机分配的

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

查看集群的所有节点

cluster nodes

在主节点1 上创建数据,看对应到的从节点是否同步

从节点同步,但不能查看

自带的哨兵模式

从ping主检测

monitor

键值对对应哈希槽,哈希槽对应集群中的主机,相应的操作只能在对应的主机上操作

集群的整个的流程:

  1. 集群自带主从和哨兵
  2. 每个主从节点之间互相隔离的,可以容忍数据的不完整,目的是高可用
  3. 哈希槽位决定没个节点的读写操作,在创建key时,系统已经分配好了指定槽位。
  4. MOVED情况不是报错,只是提醒客户端去分配的槽位节点获取数据。

proxy_responses 1;在集群之中只要有一个节点响应,然后代理服务器就会把响应传递给客户端,可以增加整个系统的稳定性,只要有一个节点可以响应,那么客户端就可以继续发起请求。不会因为某个节点失效,导致整个请求失败。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值