redis系列之--哨兵机制搭建
作用
监控redis服务器的运行状态, 可以进行
自动故障转移
(failover), 实现高可用与
数据库主从
配合使用的机制
特点
独立的进程, 每台redis服务器应该至少配置一个哨兵程序
监控redis主服务器的运行状态
出现故障后可以向管理员/其他程序发出通知
针对故障,可以进行自动转移, 并向客户端提供新的访问地址
流言协议
- 当某个哨兵程序ping 发现监视的主服务器下线后(心跳检测), 会向监听该服务器的其他哨兵询问, 是否确认主服务器下线, 当 确认的哨兵数量 达到要求(配置文件中设置)后, 会确认主服务器下线(客观下线), 然后进入投票环节
投票协议
当确认主服务器客观下线后, 哨兵会通过 投票的方式 来授权其中一个哨兵主导故障转移处理
只有在 大多数哨兵都参加投票 的前提下, 才会进行授权, 比如有5个哨兵, 则需要至少3个哨兵投票才可能授权
目的是避免出现错误的故障迁移
建议最低配置
至少在3台服务器上分别启动至少一个哨兵
如果只有一台, 则服务器宕机后, 将无法进行故障迁移
如果只有两台, 一旦一个哨兵挂掉了, 则投票会失败
相关配置
bind 127.0.0.1 # 哨兵绑定的ipport 26381 # 哨兵监听的端口号, redis客户端需要访问哨兵的ip和端口号sentinel monitor mymaster 127.0.0.1 6380 2 # 设置哨兵 (主数据库别名 主数据库ip 主数据库端口 确认下线的最小哨兵数量)sentinel down-after-milliseconds mymaster 60000 # 服务器断线超时时长sentinel failover-timeout mymaster 180000 # 故障转移的超时时间sentinel parallel-syncs mymaster 1 # 执行故障转移时,最多几个从数据库可以同时同步主数据库数据(数量少会增加完成转移的时长; 数量多则正在同步的从数据库会因同步而无法提供数据查询功能)# 设置守护进程和日志文件夹
daemonize yes# 日志路径可以自定义
logfile "/var/log/redis-sentinel-26381.log"
其他
# 启动哨兵
sudo redis-sentinel sentinel1.conf
sudo redis-sentinel sentinel2.conf
sudo redis-sentinel sentinel3.conf # 进入哨兵 redis-cli -p 端口号
redis-cli -p 26381# 查看信息
info sentinel# 关闭哨兵
sudo redis-cli -p 26379 shutdown
redis系列之--哨兵机制搭建相关推荐
- redis 系列25 哨兵Sentinel (高可用演示 下)
原文:redis 系列25 哨兵Sentinel (高可用演示 下) 一. Sentinel 高可用环境准备 1.1 Sentinel 集群环境 环境 说明 操作系统版本 CentOS 7.4.17 ...
- redis主从复制和哨兵机制
一.Redis主从复制 主从复制:主节点负责写数据,从节点负责读数据,主节点定期把数据同步到从节点保证数据的一致性 1. 主从复制的相关操作 a,配置主从复制方式一.新增redis6380.conf, ...
- 分布式缓存架构(3)-Redis事务主从复制哨兵机制
Redis的主从复制 概述: redis的复制功能是支持多个数据库之间的数据同步.一类是主数据库,一类是从数据库,主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是 ...
- redis系列之哨兵模式
为什么要有哨兵模式 如果主数据库由于某种原因宕机了,怎么办?无法给用户提供修改服务,也没有办法给从数据库进行数据同步.如果需要恢复服务,就必须从从数据库中选一个主数据库作为主数据库.然后让其他的从数据 ...
- Redis主从复制、哨兵机制
一.主从架构 在Redis中,用户可以通过执行SALVEOF命令或者设置salveof选项,让一个服务器去复制(replicate)另一个服务器,我们称呼被复制的服务器为主服务器(master),而对 ...
- redis 系列24 哨兵Sentinel (中)
四. 检测下线状态 对于Redis的Sentinel中关于下线有两个不同的概念:(1)主观下线(Subjectively Down, 简称 Sdown) 指的是单个 Sentinel 实例对服务器做出 ...
- Redis中的哨兵机制的不足
主从切换的过程中会丢失数据,因为只有一个master. 只能单点写,没有解决水平扩容的问题. 如果数据量非常大,这个时候我们需要多个master-slave 的group,把数据分布到不同的group ...
- docker redis 配置文件_基于Docker搭建Redis一主两从三哨兵
点击上方"Java知音",选择"置顶公众号" 技术文章第一时间送达! 作者:oscarwin juejin.im/post/5d26b03de51d454fa3 ...
- Redis的哨兵机制你知道多少撒
有眼光啊,这么多文章你点开了我,缘分,如果我没猜错的话,你是个有梦想的人,是个热爱技术的人,我们一起 手牵手撒 ?(暗示关注~~) 捞一下前面的Redis文章,这是一个系列啊,后续还会出更多Redi ...
最新文章
- python中字符串单引号、双引号、三引号_Python:字符串单引号(‘)、双引号(“)、三单引号(”’)和三双引号(“””)的区别...
- U深度利用iso文件制作U盘启动盘
- MyBtis快速入门
- boost::python::converter::as_to_python_function相关的测试程序
- SIGMOD回顾:数据库国际大咖组团来阿里,他们都说了啥?
- 自然语言处理中的模式(模式0:模式无处不在模式)
- mongodb分片概念和原理-实战分片集群
- js 图片库 改进版
- python操作excel常用的方法
- 2005.2.21 至 2005.8.8
- python运维处理序列_Python运维开发:02 序列
- java的for循环取出数据只是拿到最后一个_从MySQL中导数据到HBase
- 求1+2阶乘+3阶乘+ 省略 +20阶乘的和
- html桌面插件,纯JS和CSS3炫酷桌面便签贴纸特效插件
- 系统背景描述_多元化多功能会议室报告厅智能控制系统方案
- matlab 取符号函数,Matlab 符号表达式和符号函数的操作
- 剖析虚幻渲染体系(15)- XR专题
- 倒写的乘法口诀表用c语言表示,乘法口诀表,C语言实现
- 不能错过!9个让你随时保持精力充沛的习惯
- 匠心铸梦 敏涵控股集团打造民族领军品牌
热门文章
- 用启动盘点击修复计算机没有反应,如何修复并还原故障/没有反应SSD固态硬盘...
- 2015年电视游戏大厅将逐一死掉?
- MyBatis-plus报错:Error evaluating expression ‘ew.sqlSegment != null
- 实现两个矩阵的加减乘除和转置。
- 《先知·哀乐》《先知·苦痛》
- 被讨厌的勇气:“自我启发之父”阿德勒的哲学课
- java 水仙花数_如何理解Java中的水仙花数?
- 对抗生成网络学习(七)——SRGAN生成超分辨率影像(tensorflow实现)
- 四川发展供应链金融的三个建议及对策
- 在公司,有些建议不能提