美文网首页方案
Redis基础学习(五)集群

Redis基础学习(五)集群

作者: 凯瑟鸭 | 来源:发表于2021-09-21 18:40 被阅读0次

    前面我们用Sentinel解决了主从复制故障不能自动迁移的问题,但是主节点的写性能和存储能力依然是受到了Redis单机容量有限的限制,所以使用Redis集群去解决这个问题,将Redis的数据根据一定的规则分配到多台机器。

    集群(Cluster):

    Cluster模式是Redis3.0开始推出,由多个节点群组成的分布式服务集群,Redis的数据分布在这些节点中。集群不需要Sentinel哨兵也可以完成故障自动迁移。 使用集群时需要将redis配置文件中的cluster-enable配置打开。采⽤⽆中⼼结构,每个节点保存数据和整个集群状态, 各个节点会互相通信,采⽤gossip协议交换节点元数据信息,每个节点都和其他所有节点连接。一个集群⾄少需要6个节点才可以保证⾼可⽤,即3主3从。

    原理:

    redis cluster集群采⽤数据分⽚中的哈希槽来进⾏数据存储与读取的,Cluster会预分好16384个槽,每个节点负责其中的一部分槽位。当需要在 Redis 集群中放置⼀个数据时,Cluster默认会根据 CRC16算法CRC16(key) mod 16384 的值,决定将⼀个key放到哪个槽位中。

    常见的配置:

    cluster-enabled yes:开启集群模式(cluster)

    cluster-config-file:该参数指定了集群配置文件的位置,记录集群节点信息。以集群模式启动时,会首先寻找是否有集群配置文件,如果有则使用文件中的配置启动,如果没有,则初始化配置并将配置保存到文件中

    cluster-node-timeout time:节点连接超时时间

    cluster-announce-ip ip:集群节点的ip,当前节点的ip

    cluster-announce-port port:集群节点映射端⼝

    若有不对之处还希望指正为谢!@~@

    引用:《Redis设计与实现》、《Redis实战》

    相关文章

      网友评论

        本文标题:Redis基础学习(五)集群

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