你的位置:首页 > 数据库

[数据库]Redis集群~windows下搭建Sentinel环境及它对主从模式的实际意义


 回到目录

关于redis-sentinel出现的原因

Redis集群的主从模式有个最大的弊端,就是当主master挂了之前,它的slave从服务器无法提升为主,而在redis-sentinel出现之后,有效的解决了这个问题,它相当于是一个投票者或者哨兵,它时刻监视着redis集群的各个服务器,当主master挂了之后,它将进行投票进行新master的选举,一般地,我们会建立多个redis-sentinel服务器,它们都会进行主master的选举工作,当多个redis-sentinal都选择同一个主之后,这个主才有效!

关于之前的主从模式

对于内部的主从模式(master-slaves)主要实现了数据的读写分离,可以有效的提升服务器的吞吐量,但对于高可用上,表现不佳,因为当主挂了之后,从slave无法成为主,或者没有这种机制,相关主从环境搭建请像我的这篇文章

《Redis学习笔记~conf自主集群模式》

关于sentinel环境的搭建

1 下载redis3.2版

2 建立几个副本文件夹

3 对redis-window.conf的信息进行修改,主要有以下3点

sentinel monitor mymaster 127.0.0.1 6379 2 //当前的主master,2个sentinel选举成功后,才有效sentinel down-after-milliseconds mymaster 60000 //判断主master挂机的时间(毫秒)sentinel failover-timeout mymaster 180000 //失败的超时时间sentinel parallel-syncs mymaster 1 //选项指定了在执行故障转移时, 最多可以有多少个从服务器同时对新的主服务器进行同步, 这个数字越小, 完成故障转移所需的时间就越长

4 以sentinel模块支持redis-server

对于windows版本的redis,没有像linux环境里redis-sentinel进程,而可以使用redis-server来启动sentinal,我们只要添加这个参数即可,代码如下

显示当前的主master服务器

Redis-sentinel的实际意义

对于我们使用方来说,有了redis-sentinel就等于有了当前的redis-master,即我们的数据就知道向哪台服务器写入了(其它slave都是从master同步的数据),这对于使用客户端的开发人员来说,直接链接redis-sentinel的返回值即可,当然前提是你不要求横向扩展,不要求分片存储,当然,这对一个大型数据存储来说,是可笑的,我们当然需要扩展,对大数据当然要进行自动分片,所有我们需要为redis-sentinal再加一层统一的代理服务器,如Twemproxy,有了TW代理,我们在连接redis时,直接连接TW的地址即可,这会自动分片,并且自动向redis-sentinel并连接真实的redis-master服务器!

对于我们的Sentinel来说,我们只能对它进行一些简单的操作,如订阅服务,同时,它为我们开放了很多事件,供我们在外面调用

土耳其旅游团购土耳其蜜月旅游暑假去土耳其旅游价格土耳其旅游6天土耳其旅游费用多少八一八热播剧《北平无战事》中的杭州元素(组图) 2015哈尔滨冰雪节门票价格? 11月份去三亚旅游好吗? 婚礼季 细数重庆最美婚纱摄影地 夏天来深圳洪湖公园看鸟赏花吧 阿联酋航空推香港出发航空网购优惠 2015日本仙台七夕节是什么时候? 免签落地签国家旅游推荐 购物回国记得退税(图) 芭提雅美食——冬阴功汤 海口市各区地图 四姑娘山地图 琼海椰香高粱粑 折多山七月飞雪 高尔寺山攻略 丽江到稻城亚丁旅游路线 卡斯地狱谷简介 QTLP610CRAG Datasheet QTLP610CRAG Datasheet LM6-NPP1-01-N1 Datasheet LM6-NPP1-01-N1 Datasheet HL-RB1-R3304-A Datasheet HL-RB1-R3304-A Datasheet 现在到哪里旅游 现在到哪里旅游 现在到哪里旅游 国内旅游哪好 国内旅游哪好 国内旅游哪好 端午旅游去哪儿 端午旅游去哪儿 端午旅游去哪儿