美文网首页
分布式缓存-Redis集群分片存储

分布式缓存-Redis集群分片存储

作者: 木子葱葱 | 来源:发表于2020-03-09 23:57 被阅读0次

    Redis分配存储集群

    Redis集群的分片存储是在Redis3.0以后推出的架构方案。整个架构如下


    Redis分片存储集群架构

    1.在整个集群中,Redis会对每台机器分配一段槽位-solt,总共有16384个槽位(0-16383),也就是我们的集群最多可以是16384太机器,集群中节点之间会互相交换节点信息,传递消息,包括槽位的信息,如果集群过大,交互的信息会很多,会带来带宽的消耗,所以Redis官方建议最大1000个实例。
    2.Redis-server接受到一条数据是,会通过key进行hash计算,确认槽位,这里有点类似concurrentHashMap的操作,确定一个segment后才去操作
    3.发送数据到集群的任何一台机器,如果不是槽位不匹配,服务端会做重定向的返回信息
    4.客户端可以缓存集群信息,减少与服务端的网络开销,当集群扩容是,会对新的机器分配一段槽位(注意这里是将16384进行调整,分配一段到新的机器)

    集群访问流程

    集群通信

    集群中各几点的通信是通过TCP端口来相互通信

    ask和moved重定向的区别

    1.ask:若确定slot不属于当前节点,Redis会返回moved
    2.Redis节点处理slot数据迁移时,key暂时不在该节点,会返回ask

    如何避免节点数据倾斜

    1.前期规划key,解决热点数据的问题
    2.slot槽位迁移

    相关文章

      网友评论

          本文标题:分布式缓存-Redis集群分片存储

          本文链接:https://www.haomeiwen.com/subject/hmjvdhtx.html