• Redis主从复制


    Redis主从复制

    主从复制

    主机更新后根据配置和策略,自动同步到备机的master/slave机制,Master以写为主,Slave以读为主。

    可以做到:

    • 读写分离,性能扩展,降低主服务器的压力
    • 容灾,快速恢复,主机挂掉时,从机变为主机

    在这里插入图片描述

    如何操作

    配置1主2从

    下面我们来配置1主2从的效果,现实中是需要3台机器的,为了方便,我们就在一台机器上来演示,通过不同的端口来区分机器,3台机器的配置:

    1. master(主),6379
    2. slave1(从),6380
    3. slave2(从),6381

    在这里插入图片描述

    配置过程

    1)创建案例工作目录:master-slave

    kill -9 # 方便演示,停止所有的redis
    #执行下面命令创建 /opt/master-slave,本次所有操作,均在 /opt/master-slave 下
    mkdir /opt/master-slave
    cd /opt/master-slave/
    
    • 1
    • 2
    • 3
    • 4

    2)将redis.conf复制到master-slave目录

    #我测试的Linux环境,redis.conf在/usr/local/redis/redis-6.2.1/中
    cp /usr/local/redis/redis-6.2.1/redis.conf /opt/master-slave/
    
    • 1
    • 2

    3)创建master的配置文件:redis-6379.conf

    #在/opt/master-slave目录创建redis-6379.conf文件,内容如下
    #注意192.168.1.100是这个测试机器的ip,大家需要替换为自己的
    #redis.conf是redis原配置文件,内部包含了很多默认的配置
    #这里使用include将其引用,相当于把redis.conf内容直接贴进来了
    include /opt/master-slave/redis.conf
    daemonize yes
    bind 192.168.1.100
    requirepass 123456
    dir /opt/master-slave/
    port 6379
    #rdb文件
    dbfilename dump_6379.rdb
    #pid文件
    pidfile /var/run/redis_6379.pid
    logfile /opt/master-slave/6379.log
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    4)创建slave1的配置文件:redis-6380.conf

    #在/opt/master-slave目录创建redis-6380.conf文件
    #内容如下,和上面master的类似,多了后面2行
    include /opt/master-slave/redis.conf
    daemonize yes
    bind 192.168.1.100
    requirepass 123456
    dir /opt/master-slave/
    port 6380
    dbfilename dump_6380.rdb
    pidfile /var/run/redis_6380.pid
    logfile /opt/master-slave/6380.log
    #用来指定主机:slaveof 主机ip 端口
    slaveof 192.168.1.100 6379
    #主机的密码
    masterauth 123456
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    5)创建slave2的配置文件:redis-6381.conf

    include /opt/master-slave/redis.conf
    daemonize yes
    bind 192.168.1.100
    requirepass 123456
    dir /opt/master-slave/
    port 6381
    dbfilename dump_6381.rdb
    pidfile /var/run/redis_6381.pid
    logfile /opt/master-slave/6381.log
    #用来指定主机:slaveof 主机ip 端口
    slaveof 192.168.1.100 6379
    #主机的密码
    masterauth 123456
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    6)启动master

    redis-server /opt/master-slave/redis-6379.conf
    
    • 1

    7)启动slave1

    redis-server /opt/master-slave/redis-6380.conf
    
    • 1

    8)启动slave2

    redis-server /opt/master-slave/redis-6381.conf
    
    • 1

    若启动有误,大家好好检查下配置,也可以看日志,3台机器启动会在/opt/master-slave目录产生日志,如下:

    [root@VM-24-15-centos redis-6.2.1]# pwd
    /opt/master-slave
    [root@VM-24-15-centos redis-6.2.1]# ll
    #执行ll,即可看到 6379.log,6380.log,6381.log,信息敏感就不放出截图了
    
    • 1
    • 2
    • 3
    • 4

    9)查看主机的信息

    通过redis-cli命令连接主机,如下:

    redis-cli -h 192.168.1.100 -p 6379 -a 123456
    
    • 1

    再通过下面命令,查看主机信息:

    info Replication
    
    • 1

    如果没有任何问题,会看到如下信息片段:

    role:master
    connected_slaves:2
    slave0:ip=192.168.1.100,port=6380,state=online,offset=294,lag=1
    slave1:ip=192.168.1.100,port=6381,state=online,offset=294,lag=0
    #role:当期的角色,master表示主机
    #connected slaves: 2,表示有2个从机,下面2行是从机的信息(ip、端口等信息)
    #还有其它信息就不都展出了
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    10)查看slave1的信息

    通过下面2个命令查询从机slave1的信息:

    redis-cli -h 192.168.1.100 -p 6380 -a 123456
    info Replication
    
    • 1
    • 2

    如果没有任何问题,会看到如下信息片段:

    role:slave
    master_host:192.168.1.100
    master_port:6379
    #还有其它信息就不都展出了
    
    • 1
    • 2
    • 3
    • 4

    11)查看slave2的信息

    同上

    12)验证主从同步效果

    在master上面执行下面2个命令:

    192.168.1.100:6379> flushdb
    OK
    192.168.1.100:6379> set name zhangsan
    OK
    192.168.1.100:6379> set age 30
    OK
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    到slave1上执行下面命令,可以看出来数据已经同步过来了:

    192.168.1.100:6380> mget name age
    1) "zhangsan"
    2) "30"
    
    • 1
    • 2
    • 3

    同样到slave2上也执行一下,如下:

    192.168.1.100:6380> mget name age
    1) "zhangsan"
    2) "30"
    
    • 1
    • 2
    • 3
    主从复制原理
    • slave启动成功连接到master后,会给master发送数据同步消息(发送sync命令)
    • master接收到slave发来的数据同步消息后,把主服务器的数据进行持久化到rdb文件,同时会收集接收到的用于修改数据的命令,master将传rdb文件发送给你slave,完成一次完全同步
    • 全量复制:而slave服务在接收到master发来的rdb文件后,将其存盘并加载到内存
    • 增量复制:master继续将收集到的修改命令依次传给slave,完成同步
    • 但是只要重新连接master,一次完全同步(全量复制)将会被自动执行

    在这里插入图片描述

    小结

    主redis挂掉以后情况会如何?从机是上位还是原地待命?

    主机挂掉后,从机会待命,小弟还是小弟,会等着大哥恢复,不会篡位。

    从挂掉后又恢复了,会继续从主同步数据么?

    会的,当从重启之后,会继续将中间缺失的数据同步过来。

    info Replication:查看主从复制信息

    上面已经演示过了,主、从上都可以执行,用来查看主从信息。

    常用的主从结构

    一主二从

    上面演示的就是一主二从,不过采用的都是配置文件的方式,实际上从机可以采用命令的方式配置。

    命令方式如下:

    1)创建案例工作目录:master-slave

    #执行下面命令创建/opt/master-slave目录,本次所有操作,均在master-slave目录进行。
    kill -9 # 方便演示,停止所有的redis
    mkdir /opt/master-slave
    cd /opt/master-slave/
    
    • 1
    • 2
    • 3
    • 4

    2)将redis.conf复制到master-slave目录

    #我测试的Linux环境,redis.conf在/usr/local/redis/redis-6.2.1/中
    cp /usr/local/redis/redis-6.2.1/redis.conf /opt/master-slave/
    
    • 1
    • 2

    3)创建master的配置文件:redis-6379.conf

    #在/opt/master-slave目录创建redis-6379.conf文件,内容如下
    #注意192.168.1.100是这个测试机器的ip,大家需要替换为自己的
    #redis.conf是redis原配置文件,内部包含了很多默认的配置
    #这里使用include将其引用,相当于把redis.conf内容直接贴进来了
    include /opt/master-slave/redis.conf
    daemonize yes
    bind 192.168.1.100
    requirepass 123456
    dir /opt/master-slave/
    port 6379
    dbfilename dump_6379.rdb
    pidfile /var/run/redis_6379.pid
    logfile /opt/master-slave/6379.log
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    4)创建slave1的配置文件:redis-6380.conf

    #在/opt/master-slave目录创建redis-6380.conf文件
    #内容如下,和上面master的类似,多了后面2行
    include /opt/master-slave/redis.conf
    daemonize yes
    bind 192.168.1.100
    requirepass 123456
    dir /opt/master-slave/
    port 6380
    dbfilename dump_6380.rdb
    pidfile /var/run/redis_6380.pid
    logfile /opt/master-slave/6380.log
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    5)创建slave2的配置文件:redis-6381.conf

    include /opt/master-slave/redis.conf
    daemonize yes
    bind 192.168.1.100
    requirepass 123456
    dir /opt/master-slave/
    port 6381
    dbfilename dump_6381.rdb
    pidfile /var/run/redis_6381.pid
    logfile /opt/master-slave/6381.log
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    6)启动master

    redis-server /opt/master-slave/redis-6379.conf
    
    • 1

    7)启动slave1

    redis-server /opt/master-slave/redis-6380.conf
    
    • 1

    8)启动slave2

    redis-server /opt/master-slave/redis-6381.conf
    
    • 1

    9)分别登陆3台机器,查看各自主从信息

    本次我们并没有在slave1和slave2的配置文件通过slaveof命令配置主从信息,所以目前3台机器的角色都是master。

    分别登陆对3个redis,然后用info replication命令看下3个的主从信息,如下:

    #6379
    192.168.1.100:6379> info replication
    role:master
    connected_slaves:0
    
    #6380
    192.168.1.100:6380> info replication
    role:master
    connected_slaves:0
    
    #6381
    192.168.1.100:6381> info replication
    role:master
    connected_slaves:0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    下面我们将通过控制台命令来指定slave1和slave2的为master的从库。

    10)配置slave1为master的从库

    执行下面命令,连接slave1

    redis-cli -h 192.168.1.100 -p 6380 -a 123456
    
    • 1

    执行下面命令,设置master的密码

    #由于master需要密码,所以在slave1中需要指定master的密码,否则无法同步数据。
    config set masterauth 123456
    
    • 1
    • 2

    执行下面命令,指定slave1的作为master的从机

    slaveof 192.168.1.100 6379
    
    • 1

    如下,使用info replication查看下slave1的主从信息

    192.168.1.100:6380> info replication
    role:slave
    master_host:192.168.1.100
    master_port:6379
    master_link_status:up
    #其它信息不都展示了
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    11)配置slave2为master的从库

    同上,继续配置slave2,配置略。

    12)再来看看master的主从信息

    redis-cli -h 192.168.1.100 -p 6379 -a 123456
    192.168.1.100:6379> info replication
    role:master
    connected_slaves:2
    slave0:ip=192.168.1.100,port=6380,state=online,offset=532,lag=0
    slave1:ip=192.168.1.100,port=6381,state=online,offset=532,lag=0
    #基本上和之前大差不差
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    注意:通过slaveof命令指定主从的方式,slave重启之后主从配置会失效,所以,重启后需要在slave上重新通过slaveof命令进行设置,这个不要忘记了。

    中途通过slaveof变更转向,本地的数据会被清除,会从新的master重新同步数据。

    多层主从

    若master下面挂很多slave,master会有压力,实际上slave下面也可以挂slave,如下图,配置这里就不演示了,和上面的类似。

    在这里插入图片描述

    slave变master

    当master挂掉之后,我们可以从slave中选择一个作为主机。

    比如我们想让slave1作为主机,那么可以在slave1上执行下面的命令就可以了:

    slaveof no one
    
    • 1

    此时slave1就变成主机了,然后再去其他slave上面执行slaveof命令将其挂在slave1上。

    这种主备切换有个缺点:需要手动去执行命令去操作,不是太方便。

    哨兵(Sentinel)模式

    哨兵模式,主挂掉之后,自动从slave中选举一个作为主机,自动实现故障转移。能够自动监控master是否发生故障,如果故障了会根据投票数从slave中挑选一个作为master,其他的slave会自动转向同步新的master,实现故障自动转义。

    原理

    sentinel会按照指定的频率给master发送ping请求,看看master是否还活着,若master在指定时间内未正常响应sentinel发送的ping请求,sentinel则认为master挂掉了,但是这种情况存在误判的可能,比如:可能master并没有挂,只是sentinel和master之间的网络不通导致,导致ping失败。

    为了避免误判,通常会启动多个sentinel,一般是奇数个,比如3个,那么可以指定当有多个sentinel都觉得master挂掉了,此时才断定master真的挂掉了,通常这个值设置为sentinel的一半,比如sentinel的数量是3个,那么这个量就可以设置为2个。

    当多个sentinel经过判定,断定master确实挂掉了,接下来sentinel会进行故障转移:会从slave中投票选出一个服务器,将其升级为新的主服务器, 并让失效主服务器的其他从服务器slaveof指向新的主服务器; 当客户端试图连接失效的主服务器时, 集群也会向客户端返回新主服务器的地址, 使得集群可以使用新主服务器代替失效服务器。

    如何操作

    1)需求:配置1主2从3个哨兵

    以“实现1主2从3个sentinel的配置”为例,当从的挂掉之后,要求最少有2个sentinel认为主的挂掉了,才进行故障转移。

    为了方便,我们在一台机器上进行模拟,我的机器ip是:192.168.1.100,通过端口来区分6个不同的节点(1个master、2个slave、3个sentinel),节点配置信息如下:

    在这里插入图片描述

    2)创建案例工作目录:sentinel

    #执行下面命令创建/opt/sentinel目录,本次所有操作,均在sentinel目录进行。
    kill -9 # 方便演示,停止所有的redis
    mkdir /opt/sentinel
    cd /opt/sentinel/
    
    • 1
    • 2
    • 3
    • 4

    3)将redis.conf复制到sentinel目录

    #redis.conf是redis默认配置文件
    #我测试的Linux环境,redis.conf在/usr/local/redis/redis-6.2.1/中
    cp /usr/local/redis/redis-6.2.1/redis.conf /opt/sentinel/
    
    • 1
    • 2
    • 3

    4)创建master的配置文件:redis-6379.conf

    #在/opt/sentinel目录创建redis-6379.conf文件,内容如下
    #注意192.168.1.100是这个测试机器的ip,大家需要替换为自己的
    include /opt/sentinel/redis.conf
    daemonize yes
    bind 192.168.1.100
    dir /opt/sentinel/
    port 6379
    dbfilename dump_6379.rdb
    pidfile /var/run/redis_6379.pid
    logfile "./6379.log"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    5)创建slave1的配置文件:redis-6380.conf

    #在/opt/sentinel目录创建redis-6380.conf文件,内容如下
    #和上面master的类似,只是将6379换成6380了
    include /opt/sentinel/redis.conf
    daemonize yes
    bind 192.168.1.100
    dir /opt/sentinel/
    port 6380
    dbfilename dump_6380.rdb
    pidfile /var/run/redis_6380.pid
    logfile "./6380.log"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    6)创建slave2的配置文件:redis-6381.conf

    #在/opt/sentinel目录创建redis-6381.conf文件,内容如下
    #和上面master的类似,只是将6379换成6381了
    include /opt/sentinel/redis.conf
    daemonize yes
    bind 192.168.1.100
    dir /opt/sentinel/
    port 6380
    dbfilename dump_6381.rdb
    pidfile /var/run/redis_6381.pid
    logfile "./6381.log"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    7)启动master、slave1、slave2

    redis-server /opt/sentinel/redis-6379.conf
    redis-server /opt/sentinel/redis-6380.conf
    redis-server /opt/sentinel/redis-6381.conf
    
    • 1
    • 2
    • 3

    8)配置slave1为master的从库

    #执行下面命令,连接slave1
    redis-cli -h 192.168.1.100 -p 6380
    #执行下面命令,指定slave1的作为master的从机
    slaveof 192.168.1.100 6379
    #使用info replication查看下slave1的主从信息
    192.168.1.100:6380> info replication
    role:slave
    master_host:192.168.1.100
    master_port:6379
    master_link_status:up
    #基本上和之前大差不差
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    9)配置slave2为master的从库

    #执行下面命令,连接slave2
    redis-cli -h 192.168.1.100 -p 6381
    #执行下面命令,指定slave2的作为master的从机
    slaveof 192.168.1.100 6379
    #使用info replication查看下slave2的主从信息
    192.168.1.100:6381> info replication
    role:slave
    master_host:192.168.1.100
    master_port:6379
    master_link_status:up
    #基本上和之前大差不差
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    10)验证主从复制是否正常

    #连接master
    redis-cli -h 192.168.200.129 -p 6379
    #查看master主从信息
    192.168.1.100:6379> info replication
    role:master
    connected_slaves:2
    slave0:ip=192.168.1.100,port=6380,state=online,offset=140,lag=1
    slave1:ip=192.168.1.100,port=6381,state=online,offset=140,lag=1
    #基本上和之前大差不差
    
    #在master中执行下面命令,写入数据
    192.168.1.100:6379> flushdb
    OK
    192.168.1.100:6379> set name lisi
    OK
    
    #查看slave1中name的值
    192.168.1.100:6380> get name
    "lisi"
    
    #查看slave2中name的值
    192.168.1.100:6381> get name
    "lisi"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    数据一致,说明同步正常。

    11)创建sentinel1的配置文件:sentinel-26379.conf

    #在/opt/sentinel目录创建sentinel-26379.conf文件,内容如下
    dir /opt/sentinel/
    logfile "./sentinel-26379.log"
    pidfile /var/run/sentinel_26379.pid
    daemonize yes
    port 26379
    sentinel monitor mymaster 192.168.1.100 6379 2
    sentinel down-after-milliseconds mymaster 60000
    sentinel failover-timeout mymaster 180000
    sentinel parallel-syncs mymaster 1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    12)创建sentinel2的配置文件:sentinel-26380.conf

    #在/opt/sentinel目录创建sentinel-26380.conf文件,内容如下
    dir /opt/sentinel/
    logfile "./sentinel-26380.log"
    pidfile /var/run/sentinel_26380.pid
    daemonize yes
    port 26380
    sentinel monitor mymaster 192.168.1.100 6379 2
    sentinel down-after-milliseconds mymaster 60000
    sentinel failover-timeout mymaster 180000
    sentinel parallel-syncs mymaster 1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    13)创建sentinel3的配置文件:sentinel-26381.conf

    #在/opt/sentinel目录创建sentinel-26381.conf文件,内容如下
    dir /opt/sentinel/
    logfile "./sentinel-26381.log"
    pidfile /var/run/sentinel_26381.pid
    daemonize yes
    port 26381
    sentinel monitor mymaster 192.168.1.100 6379 2
    sentinel down-after-milliseconds mymaster 60000
    sentinel failover-timeout mymaster 180000
    sentinel parallel-syncs mymaster 1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    14)启动3个sentinel

    启动sentinel有2种方式:

    • 方式1:redis-server sentinel.conf --sentinel
    • 方式2:redis-sentinel sentinel.conf

    使用方式2来启动3个sentinel:

    #我测试的Linux环境,redis.conf在/usr/local/redis/redis-6.2.1/中
    /usr/local/redis/redis-6.2.1/redis-sentinel /opt/sentinel/sentinel-26379.conf
    /usr/local/redis/redis-6.2.1/redis-sentinel /opt/sentinel/sentinel-26380.conf
    /usr/local/redis/redis-6.2.1/redis-sentinel /opt/sentinel/sentinel-26381.conf
    
    • 1
    • 2
    • 3
    • 4

    15)分别查看3个sentinel的信息

    #分别对3个sentinel执行下面命令,查看每个sentinel的信息
    #redis-cli -h -p sentinel的端口
    #info sentinel
    #sentinel1的信息如下,其他2个sentinel的信息这里就不列了,可自行尝试看一下
    redis-cli -h 192.168.1.100 -p 26379
    192.168.1.100:26379> info sentinel
    sentinel_masters:1
    sentinel_tilt:0
    sentinel_running_scripts:0
    sentinel_scripts_queue_length:0
    sentinel_simulate_failure_flags:0
    master0:name=mymaster,status=ok,address=192.168.1.100:6379,slaves=2,sentinels=3
    #上面,被监控的第1个主机名称mymaster,地址192.168.1.100:6379
    #slaves=2,master挂载slave的数量 sentinels代表有几个哨兵
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    16)验证故障自动转移是否成功

    #第1步,在master中执行下面命令,停止master
    192.168.1.100:6379> shutdown
    
    #第2步,等待2分钟,等待完成故障转移
    #sentinel中我们配置down-after-milliseconds的值是60秒,表示判断主机下线时间是60秒,所以我们等2分钟,让系统先自动完成故障转移。
    
    #第3步,查看slave1的主从信息,如下
    192.168.1.100:6380> info sentinel
    role:slave
    master_host:192.168.1.100
    master_port:6381
    #上面信息片段:角色是slave,但是master变成了6381,这个是slave2的我端口
    
    #第4步,查看slave2的主从信息,如下
    192.168.1.100:6381> info sentinel
    role:master
    connected_slaves:1
    slave0:ip=192.168.1.100,port=6380,state=online,offset=385880,lag=0
    #上面信息片段:slave2之前是挂载master下,但是master挂掉,slave2挂载slave1下了
    
    #第5步,下面验证下slave1和slave2是否同步
    #在slave2中执行下面命令
    192.168.1.100:6381> set address china
    OK
    #在slave1中执行下面命令,查询一下address的值
    192.168.1.100:6380> get address
    "china"
    #说明slave2和slave1同步正常
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    17)恢复旧的master

    当旧的master恢复之后,会自动挂在新的master下面。

    #第1步,启动旧的master
    redis-server /opt/sentinel/redis-6379.conf
    
    #第2步,登录连接旧的master
    redis-cli -h 192.168.1.100 -p 6379
    
    #第3步,info replication
    192.168.1.100:6379> info replication
    role:slave
    master_host:192.168.1.100
    master_port:6381
    #上面,旧的master自动变成了slave,指向slave2,也就是新的master
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    SpringBoot整合Sentinel模式

    1)引入redis的maven配置

    <dependency>
    	<groupId>org.springframework.boot</groupId>
    	<artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>
    
    • 1
    • 2
    • 3
    • 4

    2)application.properties中配置redis sentinel信息

    spring.redis.sentinel.master=mymaster
    spring.redis.sentinel.nodes=192.168.1.100:26379,192.168.1.100:26380,192.168.1.100:26381
    #spring.redis.sentinel.password=
    spring.redis.timeout=60000
    spring.redis.database=0
    
    • 1
    • 2
    • 3
    • 4
    • 5

    其它的操作,基本就差不多了,不多做阐述了。

  • 相关阅读:
    详解 UDP 协议
    Vue 全局状态管理工具 pinia
    DHCP部署与安全
    linux下vxlan理论学习及实战配置方法
    Shell(4)条件控制语句
    linux根据指定的文件名杀死进程,再定时重启任务
    Pass cfg from cmd to test
    Codeforces Round #813 (Div. 2)
    17.13使用元数据分析数据库(血干JAVA系类)
    C语言课程设计|学生成绩管理系统(含完整代码)
  • 原文地址:https://blog.csdn.net/lili40342/article/details/127942076