Redis集群模式之Redis-Cluster模式工作原理


前言

虽然前面介绍的Redis主从模式和Redis哨兵原理能够解决Redis单机问题, 但是业务发展过程中遇到的峰值瓶颈.

  • redis提供的服务OPS可以达到10万/秒,当前业务OPS已经达到10万/秒
  • 内存单机容量达到256G,当前业务需求内存容量1T

使用集群的方式可以快速解决上述问题

1. Redis-Cluster集群架构简介

集群就是使用网络将若干台计算机联通起来,并提供统一的管理方式,使其对外呈现单机的服务效果.
集群作用

  • 分散单台服务器的访问压力,实现负载均衡
  • 分散单台服务器的存储压力,实现可扩展性
  • 降低单台服务器宕机带来的业务灾难
    在这里插入图片描述

2. Redis-Cluster集群结构设计原理

其实Redis集群就是将多个服务器横向扩展在一起, 存储原理底层也是利用碎片化管理进行的.

2.1 数据存储设计

Redis的数据结构就是key-value的模式进行存储,存储时, key经过一定运算进行设计存储.
在这里插入图片描述

  • 通过算法设计, 计算出key应该保存的位置
  • 将所有的存储空间计划切割成16384份, 每台主机保存一部分, 每份代表的是一个存储空间(注意: 不是一个key独占一份存储空间), 每一份是一个槽
  • 将key按照计算出的结果放到对应的存储空间.
  • 增加可扩展性.
    在这里插入图片描述

2.2 集群内部通讯设计

  • 各个数据库相互通信, 保存各个库中槽的编号数据
    • 比如, A节点保存编号1-10的槽, B节点保存编号11-20的槽, C节点保存编号21-30的槽, D节点保存编号31-40的槽空间, 等等…
  • 每台节点上都保存着其他节点的槽编号信息.
  • 客户端查询redis中的数据时, 会访问集群中的某一个节点, 如果key的存储位置正好在该节点的槽空间上, 则直接返回客户端结果.
  • 如果key的位置没有在该节点上, 则会告诉客户端对应的节点, 客户端再去对应节点上读取数据.
    在这里插入图片描述
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值