高可用笔记(2)redis

  • 时间:
  • 浏览:0
  • 来源:大发彩神UU快三_大发神彩UU快三官方

第一种情况表,host2或host3宕机,这时master是active的,所以所以这样 任何问题图片。

这是再看一下sentinel.conf:

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

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

$ cat /etc/redis/redis.conf

……

slaveof 192.168.500.2 6379

上一步中而且配置了兩个redis-server的主从关系,master写入的数据会同步到另有一兩个slave。此时而且host1宕机,host2和host3无法写入数据,这样 许多人 就须要将host2、host3中优先级高的那台提升为master。这就须要设置sentinel(哨兵)来监听redis-server,当sentinel判断主节点down的已经 ,sentinel会将其中另有一兩个slave提升为master。

最后,重启host2和host3的redis-server后,三台redis-server的主从关系而且建立。

在host2或host3上运行测试还须要看完:

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

许多人 来模拟一种过程。

Kill掉host1的redis-server和redis-sentinel守护进程:

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

ODOWN,即objectively down,当sentinel认为mymaster主观宕机(SDOWN)时,会发起另有一兩个投票,已经 当多数sentinel判断mymaster而且宕机时,才会得出结果ODOWN。这样 这里判断mymaster ODOWN时就须要有两台sentinel投赞成票。这也是redis高可用为宜须要3台主机的导致 。

Redis是一种key-value型数据库,基于内存,也可持久化,带宽非常快。常用于做缓存。

redis的高可用方案通常有sentinel和Twemproxy,sentinel是redis自带的功能,这里许多人 挑选用sentinel。

redis单例试验完成。

host1 192.168.500.1 #主节点master,可读写

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

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

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

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

/etc/redis/sentinel.conf

$ 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]