Redis高可用之集群配置(六)

0、Redis目录结构

      1)Redis介绍及部署在CentOS7上(一)

      2)Redis指令与数据结构(二)

      3)Redis客户端连接以及持久化数据(三)

      4)Redis高可用之主从复制实践(四)

      5)Redis高可用之哨兵模式Sentinel配置与启动(五)

      6)Redis高可用之集群配置(六)

 

一、介绍

上篇文章中介绍了redis的主从复制,但是如果出从复制无法满足单节点故障问题,则需要引入集群部署。

在之前有看到过redis集群部署的三种方案,不过性能最高的还是redis官方推荐的redis-cluster,性能最高,其他两种我就不介绍了,主要介绍一下redis-cluster这种。

1、redis-cluster

A、采用去中心化的思想,没有中心节点的说法,它使用hash slot方式将16348个hash slot覆盖到所有节点上,对于存储的每个key值,使用CRC16(KEY)&16348=slot得到他对应的hash slot,

并在访问key的时候就去找他的hash slot在哪一个节点上,然后由当前访问节点从实际被分配了这个hash slot的节点去取数据,节点之间使用轻量协议通信 减少带宽占用 性能很高,

自动实现负载均衡与高可用,自动实现failover并且支持动态扩展,官方已经玩到可以1000个节点 实现的复杂度低。

B、其内部中也需要配置主从,并且内部也是采用哨兵模式,如果有半数节点发现某个异常节点,共同决定更改异常节点的状态,如果改节点是主节点,则对应的从节点自动顶替为主节点,当原先的主节点上线后,则会变为从节点。

如果集群中的master没有slave节点,则master挂掉后整个集群就会进入fail状态,因为集群的slot映射不完整。如果集群超过半数以上的master挂掉,无论是否有slave,集群都会进入fail状态。

C、根据官方推荐 集群部署至少要3台以上的master节点。那么接下来就开始部署吧 

 

二、集群部署

1、环境配置

第一:准备3台服务器,每台服务器运行两个redis

主机说明   主机IP   端口  
Redis  

192.168.250.129

 

 

7000

7001

 
Redis   192.168.250.130  

7002

7003

 
Redis   

192.168.250.131

 

7004

7005

 

 

2、在每一台服务器上我们添加一下配置文件

分别为:redis-7000.conf  redis-7001.conf  redis-7002.conf  redis-7003.conf redis-7004.conf  redis-7005.conf 

配置文件内容为如下:其他的配置文件修改一下端口以及log文件、日志文件即可。其中中间部分cluster代表集群设置

daemonize yes port 7000 logfile 7000.log dir ./ bind 192.168.250.129 127.0.0.1 cluster-enabled yes cluster-config-file nodes_7000.conf cluster-node-timeout 15000 appendonly yes appendfilename aof-7000.aof appendfsync everysec no-appendfsync-on-rewrite yes auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxxwz.html