• 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 最小的节点
  • 相关阅读:
    Ubuntu系统下的实用软件推荐
    上传项目到GitHub
    eclipse+fileSyncPlugin+svn+jenkins+tomcat
    js,jq获取元素位置属性及兼容性写法
    清除浮动的几种方法
    sub,dl,dt,排版,横向滚动条,浮动元素居中,box-sizing
    a里面不能嵌套a
    随笔
    自适应屏幕轮播图详解
    tip
  • 原文地址:https://www.cnblogs.com/xingzhu-nan/p/14256687.html
Copyright © 2020-2023  润新知