RTO 和 RPO 都是企业灾难恢复(Disaster Recovery, DR)需要考虑的关键指标,这两个指标可以用来指导企业来制定合适的业务系统服务或数据的恢复方案。

RPO(Recovery Point Objective):即数据恢复点目标,主要指的是业务系统所能容忍的数据丢失量。

如果以定期计划的24小时增量备份全部或大部分数据,那么在最坏的情况下,企业将丢失24小时的数据。对于某些应用来说,这是可以接受的,对于其他应用来说并不是这样。

例如:如果企业的应用程序具有4小时RPO,那么备份和数据丢失之间的间隔时间将为4小时。拥有4小时的RPO并不一定意味着企业将失去4小时的数据。
例如:一个文字处理应用程序在午夜停止运行并在凌晨出现故障,那么可能没有丢失太多(或任何)数据。但是如果一个任务繁忙的应用程序在上午10点关闭并且直到下午2点才恢复,那么企业可能会失去4个小时的高价值并且可能无法替代的数据。
在这种情况下,需要进行更加频繁的备份,以便访问特定于应用程序的RPO。

取决于应用的优先级,单个RPO的范围通常为24小时、12小时、8小时、4小时。以秒为单位测量到接近零。
只要对生产系统的影响最小,8小时以上的RPO就可以利用现有的备份解决方案。
4小时的RPO将需要计划的快照复制,而接近零的RPO将需要连续复制。
在RPO和RTO都接近于零的情况下,将连续复制与故障转移服务结合使用,以实现接近100%的应用程序和数据可用性。

RTO(Recovery Time Objective):即恢复时间目标,主要指的是所能容忍的业务停止服务的最长时间,也就是从灾难发生到业务系统恢复服务功能所需要的最短时间周期,此两点之间的时间段称为RTO。

RTO不仅仅是业务损失和恢复之间的持续时间。这个目标还包括IT部门必须采取的步骤来恢复应用程序及其数据。如果IT已经投入高优先级应用程序的故障转移服务,那么它们可以在几秒钟内安全地表达RTO(IT部门必须恢复本地环境,但由于应用程序正在云中进行处理,因此IT部门可能需要一些时间)。

企业的RTO任务是根据优先级和潜在业务损失对应用程序进行分类,并相应地匹配企业的资源。

例如,接近零的RTO的典型计划将需要故障转移服务。4小时RTO允许从裸机恢复开始进行本地恢复,并以完整的应用程序和数据可用性结束。对于8小时以上的RTO,IT团队可以与本地系统集成商签署维护合同。

1.相同点与不同点

RTO 和 RPO 都是使用时间来度量。

  • 对于 RTO 时间,是指灾难发生到服务恢复的时间,这个时间也包含了数据恢复的时间。
  • 对于 RPO 时间,是指灾难发生到数据上一次备份的时间。

虽然 RTO 和 RPO 都使用时间来度量,但是使用它们的目的却不相同。

  • RTO 关注于应用或系统的可用性,RTO 虽然包含数据恢复的时间,但更多地是描述应用停机的时间限制。
  • RPO 关注于数据的完整性,描述所能容忍的最大数据丢失限制。业务系统服务不可用会带来经济损失,但如果丢失的是客户交易数据则导致的损失更是灾难性的。

2.备份策略

在制定企业的容灾计划时,需要考虑 RTO 和 RPO 目标,然而 RTO 和 RPO 目标的成本存在差异。维护一个高要求的 RTO 目标的成本可能比 RPO 目标的成本要高,这是因为 RTO 涉及到整个业务基础架构,而不仅仅是数据。
要实现 RPO 目标,只需要以正确的时间间隔执行数据备份,数据备份可以很容易地自动化实现,因此自动化的 RPO 策略很容易实现。
另一方面,由于 RTO 涉及恢复所有 IT 操作,因此完全自动化的 RTO 策略实现更复杂。
RTO 和 RPO 对于制定容灾计划时都很重要,各个企业业务场景不同,这需要我们根据实际情况来选择合适的 RTO 和 RPO 目标,以达到经济效益的最大化。

3.备份场景实例

1.单一文件恢复:
例如,一家公司员工意外删除一个时间敏感的电子邮件,然后清空回收站和文件夹的内容。
由于Microsoft Exchange是这家公司的业务关键型应用程序,因此IT部门不断支持Exchange中的增量更改。而且由于他们的备份应用程序能够进行精细的备份和恢复,他们可以在5分钟的RTO内恢复单个文件,而不用为单个文件恢复整个虚拟机。

2.电子商务网站:
例如,一家零售商店的自营电子商务网站使用三种不同的数据库:

  • 存储产品目录的关系数据库
  • 报告历史订单数据的文档数据库
  • 以及连接到其支付处理器网关的API数据库

文件数据库可以重建来自其他数据库的数据,因此其RTO和RPO是在24小时内。
该业务每周只向关系数据库添加一次产品,因此RPO并不重要。 其RTO是如果数据库关闭,则客户交易停止。
为了保持高可用性,这家商店采用了故障转移服务,因此数据库立即在虚拟服务器上运行。该公司将其在一周内进行的少量更改复制到其提供商的灾难恢复平台。API数据库包含订购信息,并且需要几秒钟才能完成RPO和RTO。 IT部门不断地将数据复制到故障转移站点,如果API数据库停机,该站点将立即接管处理。

</article>

【转帖】一篇文章让你了解灾备指标:RPO与RTO的更多相关文章

  1. 如何守护数据安全? 这里有一份RDS灾备方案为你支招

    当今世界是一个充满着数据的互联网世界,生活的方方面面都在不断产生着数据,比如出行记录.消费记录.浏览的网页.发送的消息等等.除了文本类型的数据,图像.音乐.声音都是数据.对于企业而言,数据更是重要的生 ...

  2. [转帖]很遗憾,没有一篇文章能讲清楚ZooKeeper

    很遗憾,没有一篇文章能讲清楚ZooKeeper https://os.51cto.com/art/201911/606571.htm [51CTO.com原创稿件]互联网时代是信息爆发的时代,信息的高 ...

  3. 还分不清 Cookie、Session、Token、JWT?一篇文章讲清楚

    还分不清 Cookie.Session.Token.JWT?一篇文章讲清楚 转载来源 公众号:前端加加 作者:秋天不落叶 什么是认证(Authentication) 通俗地讲就是验证当前用户的身份,证 ...

  4. 一篇文章让Oracle程序猿学会MySql【未完待续】

    一篇文章让Oracle DB学会MySql[未完待续] 随笔前言: 本篇文章是针对已经能够熟练使用Oracle数据库的DB所写的快速学会MySql,为什么敢这么说,是因为本人认为Oracle在功能性方 ...

  5. 由一篇文章引发的思考——多线程处理大数组

    今天领导给我们发了一篇文章文章,让我们学习一下. 文章链接:TAM - Threaded Array Manipulator 这是codeproject上的一篇文章,花了一番时间阅读了一下.文章主要是 ...

  6. 一篇文章告诉你为何GitHub估值能达20亿美元

    软件开发平台GitHub今日宣布,已获得硅谷多家知名风投2.5亿美元融资,这也让其融资总额达到了3.5亿美元,此轮融资对GitHub的估值约为20亿美元. GitHub有何特别之处? GitHub创立 ...

  7. DEDECMS教程:上/下一篇文章标题长度的截取方法

    对dedecms了解的朋友们,想必对如何获取上一篇.下一篇文章的标签也是非常熟悉.dedecms获取上一篇.下一篇文章的标签分别为:{dede:prenext get='pre'/}.{dede:pr ...

  8. Android:学习AIDL,这一篇文章就够了(下)

    前言 上一篇博文介绍了关于AIDL是什么,为什么我们需要AIDL,AIDL的语法以及如何使用AIDL等方面的知识,这一篇博文将顺着上一篇的思路往下走,接着介绍关于AIDL的一些更加深入的知识.强烈建议 ...

  9. Android:学习AIDL,这一篇文章就够了(上)

    前言 在决定用这个标题之前甚是忐忑,主要是担心自己对AIDL的理解不够深入,到时候大家看了之后说——你这是什么玩意儿,就这么点东西就敢说够了?简直是坐井观天不知所谓——那样就很尴尬了.不过又转念一想, ...

  10. 一篇文章一张思维导图看懂Android学习最佳路线

    一篇文章一张思维导图看懂Android学习最佳路线 先上一张android开发知识点学习路线图思维导图 Android学习路线从4个阶段来对Android的学习过程做一个全面的分析:Android初级 ...

随机推荐

  1. 2023-06-30:给你一个 rows * cols 大小的矩形披萨和一个整数 k, 矩形包含两种字符: ‘A‘ (表示苹果)和 ‘.‘ (表示空白格子), 你需要切披萨 k-1 次,得到 k 块披

    2023-06-30:给你一个 rows * cols 大小的矩形披萨和一个整数 k, 矩形包含两种字符: 'A' (表示苹果)和 '.' (表示空白格子), 你需要切披萨 k-1 次,得到 k 块披 ...

  2. 快来,这里有23种设计模式的Go语言实现

    摘要:设计模式(Design Pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结,使用设计模式是为了可重用代码.让代码更容易被他人理解并且保证代码可靠性. 本文分享自华 ...

  3. Solon cloud 常用配置

    一.配置示例: solon: app: name: "solon-consul-test" group: "test" solon.cloud.consul: ...

  4. Solon 问答:项目如何直接添加 https 支持?

    app.yml 添加两行配置即可: #设定SSL证书(支持:solon.boot.jdkhttp 或 solon.boot.jlhttp 或 solon.boot.jetty 或 solon.boot ...

  5. Python FastAPI 获取 Neo4j 数据

    前提条件 先往Neo4j 里,准备数据 参考:https://www.cnblogs.com/vipsoft/p/17631347.html#创建传承人 搭建 FastAPI 项目:https://w ...

  6. Linux 查找进程所在目录

    查找进程所在目录位置 # 打出进程ID [root@iZuf64tp28136djioi3ki8Z /]# ps -ef|grep redis root 3451 1 0 Jun10 ? 07:02: ...

  7. Jenkins Blue Ocean

    介绍 Blue Ocean 是 pipeline 的可视化UI.同时兼容经典的自由模式的 job.Jenkins Pipeline 从头开始设计,但仍与自由式作业兼容,Blue Ocean 减少了经典 ...

  8. CentOS 硬盘扩容

    首先在虚机内将硬盘空间扩大,Hyper-V 需要将检查点删除 查看物理卷和卷组,并将物理卷加入到卷组 lvextend -l +100%FREE /dev/centos/root    #将剩余空间添 ...

  9. 批量上传 jar 包到远程 maven 仓库

    mvn deploy命令: mvn deploy:deploy-file -Dmaven.test.skip=true -Dfile=log-lib-1.1.jar -DgroupId=com.sun ...

  10. POJ 1236 Network of Schools (连通图 - Garbow 算法)

    POJ 1236 Network of Schools ​ 校园网:给定N所学校和网络,目标是分发软件其他学校都可收到,求①所需最少分发学校数:②若任选学校都能收到,最低新增边数. 思路:同一个强连通 ...