zoukankan      html  css  js  c++  java
  • redis 的主从模式哨兵模式

    原理理解

    1,哨兵的作用就是检测redis主服务的状态,如果主服务器挂了,从服务就自动切换为主服务器,变为master。哨兵是一个独立的进程,作为进程,它会独立运行。其原理是哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例。

    2,一般来说,主服务可以写入,从服务器只能读。因为是从服务器向主服务器同步数据,如果从服务器可以写入数据的话,两台服务器的数据就不会同步了。但是可通过 replica-read-only 参数修改

    3,从节点只能有一个主节点,当再次指定主节点时,从节点会删除旧主节点的数据。

    4,从节点去掉主节点后,从节点会重新变成主节点。 命令:slaveof no one 改变从节点状态,slaveof host port 指定主服务实例  。#slaveof本身是异步命令,执行slaveof命令时,节点只保存主节点信息后返回

    5,主节点默认是立即将写命令同步到从节点,当网络较差时可开启 repl-disable-tcp-nodelay 参数,这样redis会合并tcp包,从而减少带宽占用。
    6,为了安全,主节点可配置 requirepass 参数,这样从节点在连接的时候就需要密码验证。

    【主配置文件参数】redis.conf

    #bind 127.0.0.1 屏蔽这段,表示允许远程访问
    daemonize yes #默认为no,修改为yes,表示启动时在后台运行
    requirepass 123456 #设置下密码,123456为密码

    【从服务器文件参数】redis.conf

    slaveof 39.96.203.220 6379 #表示连接主服务器
    masterauth password #主服务器密码,如果主服务有密码的话,这里一定要配置

    【哨兵文件配置】sentinel.conf(一般配置在从节点上)

    1 # 禁止保护模式
    2 protected-mode no
    3 # 配置监听的主服务器,这里sentinel monitor代表监控,mymaster代表服务器的名称,可以自定义,192.168.11.128代表监控的主服务器,6379代表端口,2代表只有两个或两个以上的哨兵认为主服务器不可用的时候,才会进行failover操作。
    4 sentinel monitor mymaster 192.168.11.128 6379 2
    5 # sentinel author-pass定义服务的密码,mymaster是服务名称,123456是Redis服务器密码
    6 # sentinel auth-pass <master-name> <password>
    7 sentinel auth-pass mymaster 123456
  • 相关阅读:
    CStringArray序列化处理
    【转】C++ Incorrect Memory Usage and Corrupted Memory(模拟C++程序内存使用崩溃问题)
    【转】Native Thread for Win32 C- Creating Processes(通俗易懂,非常好)
    【转】Native Thread for Win32 B-Threads Synchronization(通俗易懂,非常好)
    【转】Native Thread for Win32 A- Create Thread(通俗易懂,非常好)
    【转】关于OnPaint的工作机制
    Window发声函数Beep、MessageBeep
    Sqlite
    VC++ Splash Window封装类CSplash
    通过代码注册COM、DLL组件
  • 原文地址:https://www.cnblogs.com/fengfengyang/p/15496819.html
Copyright © 2011-2022 走看看