关于SA项目的灾难恢复策略

SA项目灾难恢复策略

本文有三部分内容,分别为RedisHA策略,Storm策略,Voltdb集群策略

一:RedisHA策略

   (1)介绍

       SA项目中redis采用版本为2.8,采用其自带的redis-sentinel功能来实现HA。启动三个sentinel进程来监控masterslaver。三个sentinel进程互相通信,有一个为主sentinel进程用来选举master节点。当主sentinel挂掉,sentinel进程会根据选举算法推选出一个新的sentinel来作为主sentinel进程,从而选出master。这样的架构保证了不存在单点问题。

   (2)备份

   Redis的持久化采用的是默认的快照模式。设置参数为:

   save 900 1    #当有一条Keys数据被改变时,900秒刷新到Disk一次

   save 300 10   #当有10Keys数据被改变时,300秒刷新到Disk一次

   save 60 10000 #当有10000Keys数据被改变时,60秒刷新到Disk一次

   采用快照方式做持久化,如果真是masterslaver都挂机,在启动时会自动加载快照文件,恢复大部分数据。

3)恢复

   利用快照进行数据备份会在redis目录下生成dump.rdp文件。当redisHA中的master挂掉,slaver会自动升级为master。再次启动原来的master会降级为slaver,同步master数据。

 

 

二:Storm策略

1)介绍

Storm采用集群方式搭建:一个nimbus,多个supervisorStorm是快速失败的设计模型,中间的组件不会保留数据,所以可以做到失败的组件从新创建立刻运行。

(2)备份

   因为storm是快速失败的,不保留中间数据,当然也不存在备份的策略。所有的数据处理和保存都有用户自定义过程。

(3)恢复

storm集群有一个单点问题就是nimbus。当nimbus进程down掉后无法从新启动失败的supervisor,但是不影响正在使用的supervisor上面的程序。只需要从新启动nimbus进程即可。

 

三:Voltdb策略

(1)介绍

Voltdb数据库采用集群模式部署。利用snapshotcommand log两大特性进行数据持久化到硬盘,利用k-safety特性保证数据冗余。防止出现节点失效导致的集群不能正常工作。

(2)备份

Voltdb数据库集群采用snapshotcommand log两大特性进行内存数据持久化。通过修改deployment.xml文件设置snapshot的频率(比如1小时),保留数量(比如3份),设置日志记录为同步记录以及k-safety=1(保证数据冗余份数为1)。

(3)恢复

     如果voltdb集群是单个节点失效(无论是硬件还是软件原因),可以使用命令voltdb rejoin如下:

  $ voltdb rejoin host myclusternode5 \

   deployment mydeployment.xml 

   把失效节点从新加入到集群中,需要指定一台集群中正常工作的节点和跟集群相同的配置文件。

     如果voltdb集群是全部挂掉,可以使用命令voltdb recover 如下:

   $ voltdb recover \

      host voltsvr1 \

      catalog mycatalog.jar \

      deployment deployment.xml \

license /opt/voltdb/voltdb/license.xml

通过快照和日志进行数据的恢复。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值