高可用笔记(2)redis

  • 时间:
  • 浏览:0
  • 来源:uu快3电脑版_uu快3和值_礼金

第本身状态,host2或host3宕机,这时master是active的,全都如此任何大什么的问题。

在host1、host2、host3中各新建一4个配置文件,内容相同,如下

/etc/redis/sentinel.conf

首先,host2和host3一样安装redis。

其次,修改host2和host3的配置文件如下:

上一步中是因为分析配置了四个redis-server的主从关系,master写入的数据会同步到一4个slave。此时是因为分析host1宕机,host2和host3无法写入数据,如此大伙儿儿儿就需用将host2、host3中优先级高的那台提升为master。这就需用设置sentinel(哨兵)来监听redis-server,当sentinel判断主节点down的完后 ,sentinel会将其中一4个slave提升为master。

redis单例试验完成。

这是再看一下sentinel.conf:

host1 192.168.500.1 #主节点master,可读写

host2 192.168.500.2 #从节点slave,同步数据,只读不写

host3 192.168.500.3 #从节点slave,同步数据,只读不写

等候几秒后,看一下host2的redis-server

sentinel主观地判断mymaster宕机(SDOWN)的完后 不要再立即failover主从切换,它需用再次确认,客观地认为mymaster宕机(ODOWN)后,才会自动进行主从切换。

ODOWN,即objectively down,当sentinel认为mymaster主观宕机(SDOWN)时,会发起一4个投票,完后 当多数sentinel判断mymaster是因为分析宕机时,才会得出结果ODOWN。如此这里判断mymaster ODOWN时就需用有两台sentinel投赞成票。这也是redis高可用大约需用3台主机的是因为分析。

$ redis-server /etc/redis/redis.conf

$ redis-sentinel /etc/redis/sentinel.conf

$ ps -aux | grep redis

root 11371 0.0 0.3 136920 7536 ? Ssl 04:45 0:04 redis-server 0.0.0.0:6379

root 12763 0.0 0.4 136916 7672 ? Ssl 06:35 0:00 redis-sentinel 0.0.0.0:7000 [sentinel]

$ cat /etc/redis/redis.conf

……

slaveof 192.168.500.2 6379

redis的高可用方案通常有sentinel和Twemproxy,sentinel是redis自带的功能,这里大伙儿儿儿选用用sentinel。

最后,重启host2和host3的redis-server后,三台redis-server的主从关系是因为分析建立。

在host2或host3上运行测试能不到想看 :

Redis是本身key-value型数据库,基于内存,也可持久化,速率非常快。常用于做缓存。

第二种状态,host1宕机,host2-sentinel和host3-sentinel会判断host1为ODOWN,按照优先级host2被提升为master。

大伙儿儿儿来模拟这些 过程。

Kill掉host1的redis-server和redis-sentinel多线程 :