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. Python函数加async,但没有加await可以异步吗

      在Python中,如果一个函数被标记为async,这意味着它是一个异步函数.但是,仅仅因为一个函数被标记为异步并不意味着它会自动异步执行.为了使异步函数真正异步,你需要在函数内部使用await关键 ...

  2. LeetCode283移动零、11盛最多的水

    283. 移动零 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序. 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必 ...

  3. 数仓性能调优:row_number() over(p)-rn=1性能瓶颈发现和改写套路

    本文分享自华为云社区<GaussDB(DWS)性能调优:row_number() over(p)-rn=1性能瓶颈发现和改写套路>,作者:Zawami . 1.改写场景 本套路应用于子查询 ...

  4. 【API进阶之路】因为不会创建云服务器,我被实习生摆了一道

    摘要:9个步骤通过API创建云服务器. 事情是这样的,公司成立了一个新项目,要给项目建官网,并搭建一个web服务器.按照我的习惯,搭建一个本地虚拟机就好了,部署简单方便还好配置,云服务器嘛,写了10年 ...

  5. 应用架构步入“无服务器”时代 Serverless技术迎来新发展

    摘要:以"原生蓄力,云领未来"为主题的2021年云原生产业大会上,华为云Serverless函数服务产品经理分享了"华为云Serverless函数服务,让开发上云极简高效 ...

  6. SparkSQL高并发:读取存储数据库

    摘要:实践解析如何利用SarkSQL高并发进行读取数据库和存储数据到数据库. 本文分享自华为云社区<SarkSQL高并发读取数据库和存储数据到数据库>,作者:Copy工程师 . 1. Sp ...

  7. iOS应用程序发布流程:从测试到上架的完整指南

    ​ 目录 转载:iOS应用程序的签名.重签名和安装测试 前言 打开要处理的IPA文件 设置签名使用的证书和描述文件 开始ios ipa重签名 转载:iOS应用程序的签名.重签名和安装测试 前言 ipa ...

  8. 火山引擎DataLeap的Catalog系统搜索实践 (二):整体架构

    整体架构 火山引擎DataLeap的Catalog搜索系统使用了开源的搜索引擎Elasticsearch进行基础的文档检索(Recall阶段),因此各种资产元数据会被存放到Elasticsearch中 ...

  9. C# WPF 将第三方DLL嵌入 exe

    没成功,只是做个记录,后面再研究 希望将第三方的 HandyControl.dll 嵌入到 exe 中,这样不用发多个文件给别人 将第三方DLL.加载到解决方案中 添加引用 将"属性页&qu ...

  10. Error unprotecting the session cookie.The payload was invalid.

    .Net Core 3.0 warn: Microsoft.AspNetCore.Session.SessionMiddleware[7] Error unprotecting the session ...