Redis集群之主从集群模式(哨兵模式Sentinel)

前言

Redis集群模式主要有2种:

  • 主从集群
  • 分布式集群。

前者主要是为了高可用或是读写分离,后者为了更好的存储数据,负载均衡。 
本文主要讲解主从集群。

与本文相关的代码与配置文件都已经上传至github上: 
地址: https://github.com/SeanYanxml/bigdata


主从切换原理

Redis的主从原理与MySQL相似,都是设置两台机器,一主一从。也就是常说的热备与冷备。设置主从的同时,设置两个哨兵进程,用来检测主节点是否宕机。若发现主节点宕机,立马从从节点内选取出合适的节点 作为新的主节点。这点与VIP(虚拟IP技术有点相似)。说的有点抽象,可看原理图,加深印象。原理图如下所示(略):


基本部署操作

基本操作与配置详见我的Redis教程第二篇: Redis & Redis Sentinel 基本使用

操作简略如下:

  • 主节点:启动Redis Server进程与Redis Sentinel进程
  • 从节点:启动Redis Server进程与Redis Sentinel进程

注:特别注意主从节点的redis.conf与sentinel.conf文件的配置,详细更改见Github地址。


测试实验

主要测试实验如下所示:

切换前

  • 主从节点,通过INFO命令查询集群信息;
  • 主从哨兵节点,通过Sentienl mastersSentinel slaves查询集群信息;
  • 主节点更新数据值,查看从节点是否有更改。

关闭主节点

  • 从节点,通过INFO命令查询集群信息;
  • 主从哨兵节点,通过Sentienl mastersSentinel slaves查询集群信息;
  • 从节点更新数据值。

开启主节点

  • 主从节点,通过INFO命令查询集群信息;
  • 主从哨兵节点,通过Sentienl mastersSentinel slaves查询集群信息;
  • 判断主节点是否更新了之前从节点 插入的数据。

实验进行

由于主从的Log太多,这边就放置一张选举 主从切换部分的截图。 
Redis 选举

主要总结:

  • 切换前,Redis Server与Sentinel 应当都能够获取到整个集群的信息(包括主从节点),且主节点信息更新,从节点也会更新。
  • 切换中,Sentinel哨兵会重新选举,从节点会更新为主节点。
  • 切换后,原主节点会作为从节点(注意 并不会切换为主节点),切会获取到宕机这段时间的数据,并且作为冷备运行。
  • 当原从节点宕机后,原主节点会再次被选举为主节点。

注: 当使用哨兵后,Jedis内将使用JedisSentinelPool,而不再使用JedisPool,因为后者不具有高可用的性能。


Reference

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值