Redis cluster去中心化设计的思考与总结

分布式存储⼀般都是通过多副本的形式保证数据可靠,多副本之间使⽤⼀致性协议保证数据⼀致,所以⼀般都需要⼀个Leader节点负责协调写⼊,常见的分布式存储如Zookeeper的工作模式即是 Leader 协调写入,⾼并发场景下Leader单节点会成为系统的瓶颈,单节点的瓶颈本质就是中心化的问题。所以解决的办法就是 采用去中心化的设计,比如redis cluster的模式。
摘要由CSDN通过智能技术生成

一、背景

分布式存储⼀般都是通过多副本的形式保证数据可靠,多副本之间使⽤⼀致性协议保证数据⼀致,所以⼀般都需要⼀个Leader节点负责协调写⼊,常见的分布式存储如Zookeeper的工作模式即是 Leader 协调写入,⾼并发场景下Leader单节点会成为系统的瓶颈,单节点的瓶颈本质就是中心化的问题。 所以解决的办法就是 采用去中心化的设计,比如redis cluster的模式。

二、宏观视角看redis cluster去中心化

redis cluster 模式 采用了去中心化的设计并且具备以下能力:

1) 可扩展性

  • 横向扩展,通过增加机器实现增加能力上限
  • 读写扩展,基于主从模式,通过读写角色分离,增强读写能力。

2) 高可用

  • 避免单机故障
  • 主从模式

3)负载均衡

  • 数据分治
  • 数据迁移
  • 请求智能路由

4) 错误恢复

  • 自动主从切换

三、微观视角看redis cluster去中心化

3.1 数据分治问题

本质就是数据和请求落在哪个节点上,或者说是一个节点都负责哪些数据的问题,即分布式存储,需要通过 数据分区策略(算法)来解决,并且需考虑以下问题:

  • 可用性:仅部分不可用
  • 维护方便 :仅针对不可用部分,针对性修复
  • 均衡IO,数据和请求均衡到不同的节点中
  • 改善查询性能,数据精准定位到节点中
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值