zoukankan      html  css  js  c++  java
  • Redis主从复制,哨兵模式

    主从复制

    主从复制主要的作用

    • 数据冗余: 主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。
    • 故障恢复: 当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复 (实际上是一种服务的冗余)
    • 负载均衡: 在主从复制的基础上,配合读写分离,可以由主节点提供写服务,由从节点提供读服务 (即写 Redis 数据时应用连接主节点,读 Redis 数据时应用连接从节点),分担服务器负载。尤其是在写少读多的场景下,通过多个从节点分担读负载,可以大大提高 Redis 服务器的并发量。
    • 高可用基石: 除了上述作用以外,主从复制还是哨兵和集群能够实施的 基础,因此说主从复制是 Redis 高可用的基础。

    在redis中实现主从复制非常简单,只需要在开启的服务中输入:SLAVEOF MASTER PORT,就可以与主服务器实现主从复制。info replication查看主从状态。主服务器可以进行读写操作,从服务器只能进行读操作,不能进行写操作。

    哨兵模式

    哨兵模式是在主从模式的基础上,增加一个哨兵节点,对主从服务器进行监控,若发现主服务器宕机故障,则自动实现故障转移,在从服务器中选择一个新的主服务器,不需要人工干预。

    Step1:创建哨兵启动文件 vim sentinel.conf,其中的主要配置为sentinel monitor mymaster 192.168.0.5 6379 2 

     mymaster为主机名字,可随意取;192.168.0.5 6379,主服务器的ip地址和端口;最后的数字2,代表当主机宕机,选取新的主服务器的时候需要2个哨兵节点的同意。

    Step2:开启哨兵服务 redis-sentinel sentinel.conf

    Step3:开启一个主服务器,两个从服务器

    Step4:断掉主服务器

    Step5:默认时间为30秒(可配置),哨兵会选取新的从服务器变为主服务器,等之前的主服务器重连后,会变成新的从服务器。

    从 Slave 中选择新 Master 节点的规则(slave 升级成 master 之后)

    1. 选择 slave-priority 最高的节点。
    2. 选择复制偏移量最大的节点(同步数据最多)。
    3. 选择 runId 最小的节点
  • 相关阅读:
    读《大数据的互联网思维》有感
    IDEA控制台问题:At least one JAR was scanned for TLDs yet contained no TLD
    youDao
    IDEA学习——模板及其常用模板
    IDEA控制台问题:java lang OutOfMemoryError:PermGen space
    MySQL版本的相关问题:com.mysql.cj.jdbc.Driver和com.mysql.jdbc.Driver
    代码自省(周一)
    IDEA链接mySQL问题 : You have an error in your SQL syntax : 'OPTION SQL_SELECT_LIMIT=1000' (or 'OPTION SQL_SELECT_LIMIT=DEFAULT')
    我的大学流水日记
    mysql的使用
  • 原文地址:https://www.cnblogs.com/xingzhu-nan/p/14256687.html
Copyright © 2011-2022 走看看