什么是单点登录单点登录(Single Sign On),简称为 SSO,是比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
1.复制多个redis实例,修改server.windows.conf 和redis.windows-service.conf 的port为不同的值
从库的conf中添加 : slaveof 127.0.0.1 6379 //从库配置,隶属于哪个主库实例
slaveof 127.0.0.1 6379 //从库配置,隶属于哪个主库实例
(bind 0.0.0.0 //绑定当前实例的可访问ip 0.0.0.0表示不限制IP
requirepass 123456 //当前实例的密码
masterauth 123456 //从库配置 主库的密码 因为同步的时候需要订阅主库的数据 )
2.配置完后分别开启三个服务
在当前文件夹内用cmd运行:redis-server.exe redis.windows.conf
或者双击redis-server.exe ps: port 从库端口不生效 可把redis.windows.conf移到redis-server.exe上面
ppp:还闪退→ 该端口被占用:
解决: 管理员打开命令行,查看该端口的进程
netstat -ano |findstr 6380(端口号)
taskkill /PID 5284 /F 强制杀死该进程
🆗
3.打开主库的redis-cli.exe 用 info replication查看
哨兵:
三个实例中添加sentinel.conf 文件 配置
1. port :当前Sentinel服务运行的端口
2.sentinel monitor mymaster 127.0.0.1 6379 2:Sentinel去监视一个名为mymaster的主redis实例,这个主实例的IP地址为本机地址127.0.0.1,端口号为6379,而将这个主实例判断为失效至少需要2个 Sentinel进程的同意,只要同意Sentinel的数量不达标,自动failover就不会执行
3.sentinel down-after-milliseconds mymaster 5000:指定了Sentinel认为Redis实例已经失效所需的毫秒数。当 实例超过该时间没有返回PING,或者直接返回错误,那么Sentinel将这个实例标记为主观下线。只有一个 Sentinel进程将实例标记为主观下线并不一定会引起实例的自动故障迁移:只有在足够数量的Sentinel都将一个实例标记为主观下线之后,实例才会被标记为客观下线,这时自动故障迁移才会执行
4.sentinel parallel-syncs mymaster 1:指定了在执行故障转移时,最多可以有多少个从Redis实例在同步新的主实例,在从Redis实例较多的情况下这个数字越小,同步的时间越长,完成故障转移所需的时间就越长
5.sentinel failover-timeout mymaster 15000:如果在该时间(ms)内未能完成failover操作,则认为该failover失败
分别配置
port 26379/26380/26381
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 15000
配置后在各自目录下 命令 启动
redis-server.exe sentinel.conf --sentinel
查看: 当前目录下 redis-cli.exe -p 26379 用 info sentinel 查看
一主二从三哨兵
pppp将Redis以及哨兵添加到系统服务中:
1、Redis服务:分别进入到三个目录中,以管理员执行以下命令:
主:
redis-server --service-install redis.windows.conf --loglevel verbose --service-name redis6379
从:
redis-server --service-install redis.windows.conf --loglevel verbose --service-name redis6380
redis-server --service-install redis.windows.conf --loglevel verbose --service-name redis6381
2、哨兵服务:分别进入到三个目录中,以管理员执行以下命令:
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
原文链接:https://blog.csdn.net/qq_35118247/article/details/119390168