前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis集群模式(Cluster)

Redis集群模式(Cluster)

作者头像
张申傲
发布2020-09-03 15:55:35
7120
发布2020-09-03 15:55:35
举报
文章被收录于专栏:漫漫架构路漫漫架构路

Redis集群模式(Cluster)

一. 单master在海量数据下的瓶颈

  1. 在单master的架构下,由于所有slave的数据都与master保持一致,因此Redis所能承载的数据量完全取决于master机器所在的内存。一旦出现内存不足的情况,只能进行垂直扩若,扩展性较差。
  2. 采用Cluster集群架构:多master + 读写分离 + 高可用 支持N个master,且每个master下都可挂在M个slave。基于Cluster的读写分离架构,每个master负责处理写请求,master下的slave负责处理读请求。一旦某个master宕机,会自动将slave切换成master,实现集群的高可用。

二. Cluster VS Replication + Sentinel

  1. Replication:如果数据量很少,主要是承载高并发高性能的场景,比如缓存一般就几个G,那么单master就足够了。可以部署一个mater,多个slave(slave数量取决于系统对吞吐量的要求),然后自己搭建一个sentinal集群,去保证redis主从架构的高可用性,就可以了。
  2. Cluster:主要是针对海量数据+高并发+高可用的场景,海量数据,如果你的数据量很大,那么建议就用Cluster架构。

三. 常用的数据分布算法

  1. hash 对一个key计算hash值,然后对节点数量取模,觉得将数据存放在哪个节点。
  2. 一致性hash
  3. hash slot redis cluster有固定的16384个hash slot,对每个key计算CRC16值,然后对16384取模,可以获取key对应的hash slot。 redis cluster中每个master都会持有部分slot,比如有3个master,那么可能每个master持有5000多个hash slot,hash slot让node的增加和移除很简单,增加一个master,就将其他master的hash slot移动部分过去,减少一个master,就将它的hash slot移动到其他master上去,移动hash slot的成本是非常低的。 使用客户端的api,可以对指定的数据,让他们走同一个hash slot,通过hash tag来实现。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-05-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Redis集群模式(Cluster)
    • 一. 单master在海量数据下的瓶颈
      • 二. Cluster VS Replication + Sentinel
        • 三. 常用的数据分布算法
        相关产品与服务
        云数据库 Redis
        腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档