redis集成-sentinel(哨兵)
采用一主(master)三从(slave)三哨兵(sentinel)的架构模式来做演示
配置信息:
主:
master ip:127.0.0.1 port:6379
从:
slave1 ip:127.0.0.1 port:6380
slave2 ip:127.0.0.1 port:6381
slave3 ip:127.0.0.1 port:6382
哨兵:
sentinel: port26379
sentinel: port26380
sentinel: port26381
// 当前sentinel服务运行的端口
前提
1.再windows下使用redis
2.电脑已经存在redis如果没有进行搜索下载这里就不提供链接了.
创建并设置三从:
1.找到windows下redis文件夹
2.将redis复制一份,并与redis拷贝到同级目录(名字自定)
3.进入从数据库修改redis.windows.conf(配置文件)
3.1:端口
3.2:对应的主端口(这边修改意味着之后每次启动数据库都会对主数据库数据进行同步)
4.其余2个redis从按照这样的方式进行修改(只需要端口修改即可其他的不许修改)
5.之后进入cmd在从目录下进行注册
#每个端口对应一个,自己对号入坐
redis-server --service-install redis.windows.conf --service-name Redis6379
redis-server --service-install redis.windows.conf --service-name Redis6380
redis-server --service-install redis.windows.conf --service-name Redis6381
6.效果查看:
设置三个哨兵
1.将redis复制三份并进行改名:
2.在第一个哨兵文件夹内创建sentinel.conf配置文件并写入哨兵配置文件
port 26379 #哨兵端口每一个烧饼文件夹对应一个端口
""" 之后的数据统一 """
sentinel monitor seckill 127.0.0.1 6379 1 #监听端口,1为这是这个主实例判断为失效至少需要1个sentinel进程的同意
sentinel down-after-milliseconds seckill 5000 #指定sentinel认为redis实例已经失效所需的毫秒数
sentinel parallel-syncs seckill 1 #指定了再执行故障迁移时,最多可以有多少个从redis实例在同步的主实例,在redis实例较多的情况下,这个数字较小,同步时间越长,完成故障转移所需的时间就越长
sentinel failover-timeout seckill 15000 #如果在该时间内(ms)没有完成failover操作,则认为该failover失败
3.最终效果如下:
4.之后再cmd中进入每个文件夹执行:
#每个端口对应一个,自己对号入坐
redis-server --service-install sentinel.conf --sentinel --loglevel verbose --service-name redissentinel26379
redis-server --service-install sentinel.conf --sentinel --loglevel verbose --service-name redissentinel26380
redis-server --service-install sentinel.conf --sentinel --loglevel verbose --service-name redissentinel26381
cmd中输出结果为如下表示执行成功:
5.服务效果图:
这样我们redis集成文件都已经配置完毕,我们就要进行启动!
:
[外链图片转存中…(img-Hpi0jvLr-1571282415945)]
这样我们redis集成文件都已经配置完毕,我们就要进行启动!