如何构建高可用、高性能的Redis集群?
2021-08-20 15:03:44 0 举报
AI智能生成
如何构建高可用、高性能的Redis集群?如何构建高可用、高性能的Redis集群?如何构建高可用、高性能的Redis集群?如何构建高可用、高性能的Redis集群?
作者其他创作
大纲/内容
单机版Redis
优点:实现、部署简单
问题:实例宕机会造成数据丢失
数据持久化
解决:实例宕机造成数据丢失
方式
RDB:数据快照,文件体积小,恢复速度快,但数据不完整
AOF:实时命令持久化,数据完整,但文件体积大,恢复速度慢
改进
AOF rewrite,减小文件体积,加快恢复速度
AOF rewrite混合(RDB+AOF)持久化,进一步压缩文件体积
问题:恢复数据期间,Redis服务还是不可用,影响了业务
主从复制(多副本)
解决:避免数据恢复期间受影响
特点
多副本,实时同步数据
master宕机,人工介入提升slave为master
问题:需要人工操作,效率降低
哨兵(故障自动切换机制)
解决:人工提升master为slave
工作模式
实时监测实例状态
实例故障,自动发起切换
单哨兵
问题:网络问题容易造成误判
哨兵集群
实时监测实例状态
实例故障,共同协商判定实例状态
实例故障后,共同选举哨兵领导者发起切换
自动化,实时性高
问题:流量变得更大后,扛不住写操作压力
分片集群(横向扩容)
解决:承担流量更大的读写压力
分类
客户端分片
正常分片:路由规则耦合在业务代码中
Redis Cluster:路由规则封装在SDK中
服务端分片
中间代理层:在客户端与服务端之间增加代理层,路由规则由代理层维护
0 条评论
下一页