使用Keepalived+Redis搭建Redis高可用主从,其中Keepalived配置为每隔2秒执行脚本检查Redis服务是否可用:

redis_check.sh脚本如下所示:

使用过程中发现虚IP会经常从主服务器漂移至从服务器,而此时主服务器Keepalived和Redis进程都在。查看/var/log/messages中的Keepalived日志:
1
发现是由于检查Redis服务是否可用的脚本超时,减少了主服务器Keepalived的权重,从而导致主从服务器状态切换、虚IP漂移,而脚本执行超时时间默认与执行间隔相等(2秒)。脚本主要执行Redis的PING操作,为什么有时候执行PING操作会超过2秒,进一步检查发现是该Redis在某些时间段读写频率非常高,QPS达到6万,造成PING操作响应慢。
针对这个问题,解决方法就是搭建多个Redis主从,通过代理或直接在客户端将请求分摊到各个Redis主从上,减少单个Redis主从压力,避免PING操作响应慢,另外就是增大脚本执行间隔,增大执行超时时间。

Keepalived+SSDB双主高可用

SSDB是一个C/C++语言开发的高性能NoSQL数据库,支持KV,list,map(hash),zset(sorted set)等数据结构,用来替代或者与Redis配合存储十亿级别列表的数据...

阅读全文

Docker简介与实践

Docker(http://www.docker.com/)是一个开源的应用容器引擎。Docker可以将应用程序及其依赖打包成镜像(Image),并在同一个服务器中启动多个容器(Containe...

阅读全文

使用iptables限制redis端口的访问

redis默认端口是6379,使用iptables限制该端口访问。 设置规则链 1)新建规则链: iptables -N RH-Firewall-1-INPUT 2)在规则链中添加可以访问6379端口的规...

阅读全文