Redis-高可用方案

4. Redis高可用方案

4.1 主从

4.1.1 概述

主从复制是指master节点把数据同步给其他的slave节点。

4.1.2 作用
  • 数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。

  • 故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余。

  • 负载均衡:在主从复制的基础上,配合读写分离,可以大大提高Redis服务器的并发量。

4.1.3 缺点

一旦主节点宕机,写服务无法使用,就需要手动去切换,重新选取主节点,手动设置主从关系。

4.2 哨兵

4.2.1 原理

哨兵会定时的去ping主节点,一旦主节点没有及时响应情况下,该哨兵就会通知其他哨兵也去ping主节点,如果有大于等于配置文件的哨兵数量认为该主节点不可用的情况下,哨兵就会在剩余的从节点中重新投票选举出一个主节点,避免整个Redis集群无法提供写服务。

4.2.2 作用
  • 集群监控:负责监控redis master和slave进程是否正常工作

  • 故障转移:如果master node挂掉了,会自动转移到slave node上

4.2.3 哨兵选举新主节点原理
  • 先筛选掉那些网络不好,经常掉线的从库

  • 第一轮打分 replic-priority 根据优先级来打分 优先级越高得分越高

  • 与主节点同步程度越高 得分越高

  • 每一个redis实例都有一个id,id越小得分越高

4.2.4 缺点
  • 访问瞬断:当主节点挂掉的时候,哨兵会选举出来一个主节点,选举的时候是没有办法去访问Redis的,会存在访问瞬断的情况。

  • 浪费内存:每个Redis节点存储的数据都是相同的。

  • 主节点压力大:如果读的操作很多,有很多从节点可以分担压力,但是如果写的操作很多,压力全在主节点那里。

4.3 Cluster分片集群

4.3.1 概述

Cluster集群是一个多主多从的分布式服务集群,Redis Cluster将所有数据划分为16384个slots(槽位),每个主节点都有对应的哈希槽,存放数据的时候,会根据crc16算法计算key的hash值来确定应该把key存贮到哪个槽位上,每个主节点都可以存放不同的数据,比哨兵模式更加节约内存。

4.3.2 优点
  • 节约内存:每个主节点都可以存放不同的数据。

  • 并发量高:Cluster分片集群有多个master,可以提供更高的并发量。

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值