加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 系统 > 正文

三分钟带你掌握Redis 高可用架构之哨兵

发布时间:2021-05-24 05:12:02 所属栏目:系统 来源:互联网
导读:哨兵本质也是一个 redis 服务,只是跟普通的 redis 服务提供了不一样的功能。哨兵是一个分布式架构,因为你要保证 redis 高可用,首先需要保证自己高可用,所以如果我们需要搭建哨兵的话,最少需要部署三个实例,最好是奇数个,因为在后续的故障转移中会涉

哨兵本质也是一个 redis 服务,只是跟普通的 redis 服务提供了不一样的功能。哨兵是一个分布式架构,因为你要保证 redis 高可用,首先需要保证自己高可用,所以如果我们需要搭建哨兵的话,最少需要部署三个实例,最好是奇数个,因为在后续的故障转移中会涉及到投票。

哨兵的配置文件我们可以在 redis 的 GitHub 项目下下载,在项目下有一个叫做 sentinel.conf 的文件,可以使用它作为我们哨兵的配置模板,当然你也可以使用 redis.conf 配置文件,只需要添加哨兵相关配置就好了。

哨兵相关的配置项不多,主要有以下几个配置项:

// 端口号,默认是 redis 实例+20000,所以我们沿用这个规则就好了 

port 26379  

// 是否守护进程运行 

daemonize yes 

// 日志存放的位置,这个非常重要,通过日志可以查看故障转移的过程 

logfile "26379.log"  

// 监视一个名为 mymaster(自定义) 的 redis 主服务器, 这个主服务器的 IP 地址为 127.0.0.1 , 端口号为 6379 , 

// 最后面的 2 代表着至少有两个哨兵认为主服务器出现故障才会进行故障转移,否则认定主服务未失效 

sentinel monitor mymaster 127.0.0.1 6379 2  

// 哨兵判断服务器失效的响应时间,超过这个时间未接收到服务器的回应,就认为该服务器失效了 

sentinel down-after-milliseconds mymaster 30000  

// 完成故障转移之后,最多多少个从服务器可以同时发起数据复制,数字越小,说明完成全部从服务数据复制的时间越长 

// 数字越大,对主服务器的压力就变大了 

sentinel parallel-syncs mymaster 1  

// 故障转移超时时间 

sentinel failover-timeout mymaster 180000 

对于每个 Sentinel 实例配置除了 port 和 logfile 不同之外,其他配置项都是一样的。修改好配置后,我们可以使用 ./redis-sentinel sentinel.conf 命令来启动哨兵,命令跟 redis 实例启动差不多,因为哨兵也是 redis 实例,所以我们可以使用 ./redis-cli -p 26379 info sentinel 命令查看当前的哨兵信息,如下图所示:

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读