Redis集群(二)Sentinel哨兵模式
Redis的主从模式配置简单,在提高单台服务器数据库读性能的同时,也能间接性的提高写的能力;与此同时,它的弊端也显而易见,那就是当主节点Master宕机后,整个集群就没有可写的节点了,为此就衍生出了一种新的模式,Sentinel(哨兵模式)
Redis的Sentinel系统用于管理多个Redis服务器,主要的工作可分为三点:
1.Monitoring(监视):Sentinel会不断检查主服务器和从服务器运作是否正常
1)Sentinel可以监控任意多个Master和该Master下的Slaves
2)同一哨兵下的,不同主从模型,彼此相互独立
3)Sentinel会不断监察Master和Slaves是否正常
2.Notification(提醒):当被监控的某个Redis服务器出现问题时,可通过API向管理员或其他应用程序发送通知信息
3.Automatic failover(自动故障迁移):当一台主服务器宕机后,Sentinel会开始自动故障迁移的操作,它会通过半数选举的方式,在失效的主服务器中的从服务器变成主服务器;当客户端连接失效的主服务器时,集群也会向客户端返回新主服务器的地址
1)Sentinel网络:监控同一个Master的Sentinel会自动连接,组成一个分布式的Sentinel网络,互相通信并相互交换监视服务器的信息。
2)故障切换的过程:
1.当任何一个Sentinel发现被监控的Master下线时,会通知其他的Sentinel,并进行投票决定该Master是否下线(由于遵循半数原则,所以Sentinel通常配奇数个);
2.当Sentinel确定Master下线后,会在所有的Slaves中,选举一个新的结点升级成为Master,其他结点成为该Master的Slave
3.当下线的Master恢复后,也成为新Master的Slave
配置流程:
1.创建Sentinels目录(s1,s2,s3分别表示三个哨兵)
2.在安装目录下将sentinel.conf拷贝到三个哨兵目录中
3.依次修改s1,s2,s3下的配置文件sentinel.conf(绑定ip,保护模式,端口,Sentinel)
s1的配置
1)是哨兵的名字 2)监视Master的ip地址 3)监视Master的端口 4)在投票过程中超过2个哨兵同意Master下线时,Master即视为宕机状态
s2的配置
s3的配置
4.开启三个不同端口的Redis服务端
6380端口的redis-server(Master)
6381端口的redis-server(Slave)
6382端口的redis-server(Slave)
5.分别通过s1,s2,s3中的配置问起开启三个哨兵(由于监视的为同一个Master,三个哨兵会自动组成哨兵网络)
s1配置文件启动的哨兵
s2配置文件启动的哨兵
s3配置文件启动的哨兵
6.测试
1)断开Master(端口为6380的redis-server)
两个Slaves同时无法连接Master的警告
6381端口的Slave
6382端口的Slave
Sentinel进行检测,投票,选举的操作
6381redis-server变为新Master,6382redis-server成为6381的Slave
6381界面
6382界面
2)原Master6380端口的redis-server重新上线
6380端口的redis-server成为6381端口redis-server的Slave
转载于:https://www.cnblogs.com/lch-Hao/p/10940980.html
Redis集群(二)Sentinel哨兵模式相关推荐
- redis集群之主从复制+哨兵模式
文章目录 一.redis集群之主从复制 1.1.集群介绍 1.2.搭建过程 1.3.验证 二.redis集群之哨兵模式 2.1.部署过程 1.搭建主从复制集群 2.设置哨兵模式的配置文件 3.启动哨兵 ...
- Redis 主从集群搭建及哨兵模式配置
Redis 主从集群搭建及哨兵模式配置 最近搭建了redis集群及哨兵模式,为方便以后查看特此记录下来: 1.Redis安装 2.主从架构 2.1 Redis主从架构图 2.2Redis主从结构搭建 ...
- redis集群的几种模式
redis集群的几种模式 主从模式 哨兵模式 Cluster集群模式(推荐) 三种模式都有搭建成功,相比之下,个人还是推荐Cluster集群 主从模式 主从模式(Master-Slave Replic ...
- redis集群的三种模式
通过持久化功能,Redis保证了即使在服务器重启的情况下也不会丢失(或少量丢失)数据,因为持久化会把内存中数据保存到硬盘上,重启会从硬盘上加载数据.但是由于数据是存储在一台服务器上的,如果这台服务器出 ...
- 搭建高可用的redis集群,避免standalone模式带给你的苦难
现在项目上用redis的话,很少说不用集群的情况,毕竟如果生产上只有一台redis会有极大的风险,比如机器挂掉,或者内存爆掉,就比如我们生产环境 曾今也遭遇到这种情况,导致redis内存不够挂掉的情况 ...
- Redis集群——去中心化模式
去中心化模式特点 之前介绍的主从模式和哨兵模式都只有一个master主节点,如果写操作并发比较大时,这两个模式就会堵塞.这时就可以使用集群化模式,也称之为去中心化模式,其特点是多master和多sla ...
- 玩转 Redis 集群之 Sentinel
Redis作为内存数据库,需要具备高可用的特点,不然如果服务器宕机,还在内存里的数据就会丢失.我们最常用的高可用方法就是搭建集群,master机器挂了,可以让slave机器顶上,继续提供服务.但是Re ...
- redis集群的发布订阅模式
项目开发过程中,遇到需要发消息的情况,是不是脑海里不自主的浮现kafka.rabbitmq等常用的消息队列?但如果消息非常简单,并且用量也不大,消息队列就会有点大材小用了吧,忽然想起了redis 也有 ...
- 玩转Redis集群之Sentinel
Redis作为内存数据库,需要具备高可用的特点,不然如果服务器宕机,还在内存里的数据就会丢失.我们最常用的高可用方法就是搭建集群,master机器挂了,可以让slave机器顶上,继续提供服务.但是Re ...
- redis入门及其集群搭建、哨兵模式
一.Nosql概述 1.为什么要用Nosql 1.1 单机 MySQL 的美好时代 来源博客(https://www.cnblogs.com/lukelook/p/11135209.html) 在90 ...
最新文章
- java servlet 多线程_Servlet的多线程和线程安全
- vue+element-ui实现分页
- js赋值后 改变现有数据会修改原来的数据
- 面试题56: 数组中数字出现的次数
- JAVA错误:无法从静态上下文中引用非静态变量 this
- 前端学习(2753):创建新页面和页面配置
- loadrunner具体实例教你如何进行结果分析
- 计算机二级vb语言题库百度云,[计算机二级vb题库]计算机二级VB语言程序设计考试题及答案.doc...
- 微商分销代理商城源码带代理等级和升级条件 thinkphp框架
- oracle锁表查询及释放进程
- 《嵌入式 – GD32开发实战指南》第9章 呼吸灯
- 下载blob地址或m3u8格式视频方法以及常见问题解决
- 学完大数据基础,可以按照我写的顺序学下去
- Verilog除法器(32位无符号+带符号)
- ui-bootstrap-tpls 中文 现在还不全的啊~,组件太多了,有空就更新
- 性能优化: http 请求的过程及潜在的性能优化点
- 微服务RPC原理【深度好文】
- Layui--入门指南
- 微信小程序获取定位后使用腾讯地图解析到市位置
- cyber physical system