zoukankan      html  css  js  c++  java
  • Redis 主从复制 和 Redis 哨兵机制

    Redis 主从复制

    主从复制架构仅仅用来解决数据冗余备份,从节点仅仅用来同步数据
    --无法解决:1.master节点出现自动故障转移

    [root@localhost ~]# mkdir master slave1 slave2
    [root@localhost ~]# cp redis-6.0.9/redis.conf master/
    [root@localhost ~]# cp redis-6.0.9/redis.conf slave1/
    [root@localhost ~]# cp redis-6.0.9/redis.conf slave2/

    小插曲:改名 [root@localhost ~]# mv salve1/ slave1/

    编写配置文件 [root@localhost ~]# vim master/redis.conf

    1.准备3台机器并修改配置 (准备多个redis节点,做相应的配置)

    - master
    port 6379
    bind 0.0.0.0

    - slave1
    port 6380
    bind 0.0.0.0
    salveof masterip masterport

    - slave2
    port 6381
    bind 0.0.0.0
    salveof masterip masterport


    2.启动3台机器进行测试

    - cd /usr/local/redis/bin
    - ./redis-server /root/master/redis.conf
    - ./redis-server /root/slave1/redis.conf
    - ./redis-server /root/slave2/redis.conf

    Redis哨兵机制
    sentinel(哨兵)是redis的高可用性解决方案:由一个或多个sentinel实例 组成的Sentinel系统可以监视任意多个主服务器,
    以及这些主服务器属下的所有从服务器,并在被监控的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级
    为新的主服务器。简单的说哨兵就是带有自动故障转移功能的主从架构。

    --无法解决:1.单节点并发压力问题 2.单节点内存和磁盘的物理上限问题


    搭建哨兵架构

    [root@localhost ~]# mkdir sentinel
    [root@localhost ~]# cd sentinel/
    [root@localhost ~]# touch sentinel.conf
    [root@localhost ~]# vim sentinel.conf


    1.在主节点上创建哨兵机制
    -在master对应redis.conf同目录下新建sentinel.conf文件,名字绝对不能错

    2.配置哨兵,在sentinel.conf文件填入内容
    -sentinel monitor 被监控数据库名字(自己起名字) ip port 1 (1代表一个哨兵)

    3.启动哨兵模式进行测试
    [root@localhost src]# cp redis-sentinel /usr/redis/bin

    - redis-sentinel /root/sentinel/sentinel.conf
    说明:这个后面的数字 2.是指当有两个及以上的sentinel服务检测到master宕机,才会去执行主从切换的功能。

    启动哨兵在redis源码的src下边有一个redis-sentinel脚本

    哨兵的服务端口:26379


    通过springboot操作哨兵


    #redis sentinel 配置
    #master书写是使用哨兵监听的那个名称
    spring.redis.sentinel.master=mymaster
    #连接的不再是一个具体redis主机,书写的是多个哨兵节点
    spring.redis.sentinel.nodes=192.168.139.129:26379

    # 注意:bind 0.0.0.0 通过程序连接哨兵必须开启远程连接权限

  • 相关阅读:
    雨林木风操作系统有感
    Bitcoin P2P 虚拟货币原理详解
    SVN switch 用法详解
    Bitcoin P2P 货币:有史以来最危险的项目
    回旋线科普
    Mathematica 如何绘制双纵坐标轴的图像?
    c#数据库操作
    在自定义HttpHandler中无法使用Session
    VS2010安装因net framework4.0无法安装而失败的解决方法
    .net framework 4.0 0xc8000247错误解决
  • 原文地址:https://www.cnblogs.com/pmbb/p/14098364.html
Copyright © 2011-2022 走看看