Redis如何实现高可用

高可用是分布式系统的基础、保障系统可靠性

Redis如何实现高可用

答:Redis数据持久化+Redis主从复制+哨兵机制(监控、通知、自动故障转移)+keepalived(自动重启)

数据持久化保证了数据不丢失;Redis主从复制将数据完整复制在多个节点,当主节点宕机时,从从节点中选出新的主节点,保证服务不中断;哨兵模式用来监控 Redis主从复制,提供了自动故障转移功能。

(1)Redis数据持久化:系统宕机或重启后,保证数据不会丢失

(2)Redis主从复制:将数据完整复制在多个节点,当主节点宕机时,从从节点中选出新的主节点,保证服务不中断。缺点是主节点宕机,需要人工手动恢复系统

(3)哨兵机制sentinel:监控Redis主从节点,提供了自动故障转移功能。当主节点宕机时,自动从从节点中选出新的主节点,保证服务不中断。

(4)keepalived自动重启:某一节点宕机后,实现自动重启

为什么需要哨兵机制:Redis主从复制下,主节点宕机时,需要人工手动恢复系统,哨兵机制可以自动从从节点中选出新的主节点

(5)数据持久化两种方式

1-RDB(Redis DataBase快照方式):将某一个时刻的内存数据,以二进制的方式写入磁盘。

2-AOF(Append Only File文件追加方式):将所有操作命令,以文本的形式追加到文件中

3-RDB以二进制存储,因此占用的空间更小,重启恢复速度快,但可读性低

4-AOF不是以二进制存储的,因此占用空间更大,重启恢复能力速度慢,但可读性高。

AOF存储频率更高,因此丢失数据的风险就更低

5-混合持久化:使用 RDB + AOF 两种格式来进行数据持久化,开始的数据以RDB的格式进行存储、占用少量的空间,之后的命令会以AOF的方式进行数据追加,降低数据丢失的风险

(6)主从复制两种模式(都是一主多从)

1-主从模式:一个主节点和多个一级从节点(只有一个主)

2-从从模式:一级从节点下面还可以拥有更多的从节点(只有一个主)

3-主从模式实现了Redis的高可用:当主节点宕机时,把从节点提升为主节点,保证服务不中断

4-主从模式实现数据的读写分离:主节点进行写操作、写的同时自动将数据同步到从节点,从节点进行读操作,减轻了 Redis 主节点的运行压力、提高了Redis的运行速度

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qcaOGcSQ-1619832860463)(/var/folders/y1/tb_pgrms5dq8wq0ssjz1fgzh0000gn/T/abnerworks.Typora/image-20210501083342159.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5WX4RPVm-1619832860496)(/Users/yanagihoyanagiho/Desktop/a6e0a4f18bd141a69c5e4ad7025c077b.jpeg)]

(7)哨兵机制

1-功能:监控Redis主从节点,提供了自动故障转移的功能。当主节点宕机时,自动从从节点中选出新的主节点,保证服务不中断

2-集群监控:负责监控主节点master 和 从节点slave 进程是否正常工作。

3-消息通知:如果某个节点有故障,那么哨兵负责发送消息作为报警通知给管理员。

4-故障转移:如果主节点master挂掉了,会自动转移到从节点slave上。
在这里插入图片描述

5-原理:每个哨兵会以每秒钟 1 次的频率,向已知的主服务器和从服务器,发送一个 ping命令。如果最后一次有效回复 ping命令的时间,超过了配置的最大下线时间(Down-After-Milliseconds)时,默认是 30s,那么这个实例会被哨兵标记为主观下线。如果一个主服务器被标记为主观下线,那么正在监视这个主服务器的所有哨兵节点,要以每秒 1 次的频率确认主服务器是否进入了主观下线的状态。如果有足够数量(quorum 配置值)的哨兵证实该主服务器为主观下线,那么这个主服务器被标记为客观下线。此时所有的哨兵会按照规则(协商)自动选出新的主节点服务器,并自动完成主服务器的自动切换功能,而整个过程都是无须人工干预的。

Redis是如何实现高可用的?https://blog.csdn.net/u011168837/article/details/110673662
redis如何实现高可用【主从复制、哨兵机制】:https://blog.csdn.net/itcats_cn/article/details/82428716
如何保证 redis的高并发和高可用:https://blog.csdn.net/zero__007/article/details/86564520

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值