前提:现在有主从结构,主库没有配置持久化,从库配置AOF。(主库用来备份和写服务,从库用来提供读服务)
场景:哪天主库突然宕了,怎么办?
方法:连上从库,做save操作。将会在从库的data目录保存一份从库最新的dump.rdb文件。将这份dump.rdb文件拷贝到主库的data目录下。再重启主库。
就因为这个我想到了用集群的方案,但是redis官方没有mysql那样的master-
master的模式~ 这样的情况下,只能咱们自己想办法了~
实现的原理~
当 Master 与 Slave 均运作正常时, Master负责读,Slave负责同步;
当 Master 挂掉,Slave 正常时, Slave接管服务,同时关闭主从复制功能;
然后依次循环。
这样,两台redis服务器中的任何一台挂掉,都会由另一台继续提供服务,不会对网站形
成可察觉的影响,也不会丢失数据。
你也可以实现
当 Master 恢复正常,则从Slave同步数据,同步数据之后关闭主从复制功能,恢复
Master身份,于此同时Slave等待Master同步数据完成之后,恢复Slave身份。
高可用方面
需要把读写进行分离的,写的话,就指向到一个vip~ 那两个主 用keepalived加脚本进行判断。
读的话,尽量用haproxy进行分流,这样的话,哪怕一个从down的话,haproxy会自动剔除的~
redis安装~
wget http://redis.googlecode.com/files/redis-2.2.13.tar.gz tar -zxf redis-2.2.13.tar.gz cd redis-2.2.13 make make install
keepalived的安装~
tar -xzvf keepalived-1.1.20.tar.gz cd keepalived-1.1.20 ./configure --prefix=/usr/local/webserver/keepalived make make install cp /usr/local/webserver/keepalived/sbin/keepalived /usr/sbin cp /usr/local/webserver/keepalived/etc/sysconfig/keepalived /etc/sysconfig cp /usr/local/webserver/keepalived/etc/rc.d/init.d/keepalived /etc/init.d mkdir /etc/keepalived cp /usr/local/webserver/keepalived/etc/keepalived/keepalived.conf /etc/keepalived
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索redis 3.0集群
, redis
, webservers
, keepalived
, slave
, 主从
, webserver
, master
, redis技巧
, Redis应用场景
, Redis的应用场景
redis的使用场景
redis3.0高可用集群、redis高可用集群方案、redis 高可用集群、redis 3 高可用集群、redis 集群,以便于您获取更多的相关知识。