美文网首页
redis集群

redis集群

作者: 策马踏清风 | 来源:发表于2020-04-14 15:08 被阅读0次

    reids的集群搭建方式有三种主从master-slave、哨兵Sentinel、集群Cluster

    主从master-slave

    数据库分为主数据库master和从数据库slave

    1. 主数据库进行写操作,数据变化时自动同步到从数据库
    2. 从数据库一般都是只读,数据来源为主数据库
    3. 一个master对应多个slave,一个slave对应多个master
    4. slave挂了不影响其他的slave,重启之后会从master同步数据
    5. master挂了之后不影响slave的读,但是不再提供写的服务,重启之后重新提供。
    6. master挂了之后不会重新选举master
    7. master设置密码之后slave访问不需要密码

    缺点
    master挂了之后不会重新选举master

    哨兵Sentinel

    解决了主从模式的痛点,master挂了之后重新选举出master

    特点

    1. master挂了之后Sentinel会选择一个slave作为master,并修改所有节点的配置文件
    2. master重启之后将会作为slave接收新的master的同步消息
    3. Sentinel也可能挂掉,可以形成集群
    4. Sentinel配置的时候,Sentinel之间也会自动监控
    5. 主从模式修改配置密码时Sentinel会将修改同步到配置文件
    6. SentinelSentinel集群可以管理多个主从Redis
    7. Sentinel最好不要和Redis放在同一台机器上,防止一起挂掉
    8. Sentinel模式下客户端应当直接连接Sentinel这样master挂掉之后Sentinel可以自动感知新的master

    工作机制

    1. Sentinel每秒都向所知的masterslave、其它Sentinel发送pin
    2. 如果有一个实例距离上一次回复pin的时间超过down-after-milliseconds,实例就会被Sentinel标记成主观下线
    3. master标记成主观下线之后监视这个masterSentinel都要每秒一次的频率确认是否是主观下线
    4. 当足够数量Sentinel(配置)在指定时间内确认此master主观下线,则master的标记将改为客观下线
    5. mastersentinel标记为客观下线时,sentinel向下线的master的所有slave发送 INFO 命令的频率会从 10 秒一次改为 1 秒一次
    6. master重新向sentinelpin命令回复,则master的主观下线状态将被移除

    集群Cluster

    当一台电脑上放不下信息时就可以采用集群的方式,分散存储信息
    通过cluster可以实现主从和master重选功能,所以如果配置两个副本三个分片的话,就需要六个Redis实例。因为Redis的数据是根据一定规则分配到cluster的不同机器的,当数据量过大时,可以新增机器进行扩容。

    使用集群,只需要将redis配置文件中的cluster-enable配置打开即可。每个集群中至少需要三个主数据库才能正常运行,新增节点非常方便。

    相关文章

      网友评论

          本文标题:redis集群

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