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. 文心一言 VS 讯飞星火 VS chatgpt (46)-- 算法导论6.1 4题

    四.假设一个最大堆的所有元素都不相同,那么该堆的最小元素应该位于哪里? 文心一言: 最大堆的最小元素位于堆的根结点.由于最大堆的性质,根结点是堆中所有元素的最大值,因此它也是堆中所有元素的最小值. 讯 ...

  2. 关于GaussDB(DWS)的正则表达式知多少?人人都能看得懂的详解来了!

    摘要:GaussDB(DWS)除了支持标准的POSIX正则表达式句法,还拥有一些特殊句法和选项,这些你可了解?本文便为你讲解这些特殊句法和选项. 概述 正则表达式(Regular Expression ...

  3. LiteOS:剖析时间管理模块源代码

    摘要:Huawei LiteOS的时间管理模块以系统时钟为基础,分为2部分,一部分是SysTick中断,为任务调度提供必要的时钟节拍:另外一部分是,给应用程序提供所有和时间有关的服务,如时间转换.统计 ...

  4. k8s源码Client-go中Reflector解析

    摘要:通过本文,可以了解Reflector通过ListWatcher从Kubernetes API中获取对象的流程,以及存储到store中,后续会对DeltaFIFO进行源码研读,通过结合inform ...

  5. 华为云VSS漏洞扫描服务之开源组件漏洞检测能力

    摘要:华为云VSS漏洞扫描服务提供针对于Web.主机和软件包的漏洞检测能力. 近日Apache Log4j2漏洞持续发酵,已成为中国互联网2021年年底前最大的安全事件.华为云VSS漏洞扫描服务,提供 ...

  6. DarkMode(3):sass函数实实现深色模式操作

    上文<DarkMode(2):深色模式解决方案--css颜色变量实现Dark Mode>,完全基于样色抽离变量,然后使用预处理其,生成两套样式.切换样式文件. sass自定义函数与mixi ...

  7. 火山引擎 DataTester 背后,抖音的名字原来是 AB 测试来的

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 抖音的名字是怎么来的? 在字节跳动火山引擎技术开放日上,字节跳动副总裁杨震原曾透露过"抖音"名 ...

  8. 我的程序跑了60多小时,就是为了让你看一眼JDK的BUG导致的内存泄漏。

    这次的文章从JDK的J.U.C包下的ConcurrentLinkedQueue队列的一个BUG讲起.jetty框架里面的线程池用到了这个队列,导致了内存泄漏. 同时通过jconsole.VisualV ...

  9. C# CRC8

    C# CRC8 C# /// /// This enum is used to indicate what kind of checksum you will be calculating. /// ...

  10. SpringBoot Docker Skywalking agent 不生效

    SpringBoot Skywalking agent 通过 Dockfile 配置 不生效 ENTRYPOINT ["java","-Djava.security.eg ...