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. 关于Triple DES(3DES)对称加密算法

    一.引言 在网络安全领域,对称加密算法作为一种常见的加密手段,被广泛应用于保障数据传输的保密性和完整性.其中,DES(Data Encryption Standard)算法作为一种经典的对称加密算法, ...

  2. 新版以太坊Ethereum库ethersV5.0配合后端Golang1.18实时链接区块链钱包(Metamask/Okc)以及验签操作

    区块链去中心化思想无处不在,比如最近使用个体抗原自检替代大规模的中心化核酸检测,就是去中心化思想的落地实践,避免了大规模聚集导致的交叉感染,提高了检测效率,本次我们使用Ethereum最新的ether ...

  3. Spring Cloud 学习推荐

    学习 Spring Boot Spring tutorials | Java Web Development, Spring Cloud Programming tutorials Spring Bo ...

  4. vue2升级vue3:vue3真的需要vuex或者Pinia吗?hooks全有了

    在写 <vue2升级vue3:TypeScript下vuex-module-decorators/vuex-class to vuex4.x>,建议新项目使用 Pinia,但是我的项目部分 ...

  5. git clone 出现fatal: unable to access ‘https://github 错误解决方法

    git clone 遇到问题:fatal: unable to access 'https://github.comxxxxxxxxxxx': Failed to connect to xxxxxxx ...

  6. 开心档之MySQL 创建数据表

    MySQL 创建数据表 创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段 语法 以下为创建MySQL数据表的SQL通用语法: CREATE TABLE table_name (col ...

  7. VS IIS Express 启动项目后,绑IP让别人可以访问你的网站

    如何VS IIS Express 启动项目后,绑本机IP,让别人可以访问你的网站,方便Debug 一.修改iis配置 1.在web服务器执行后,会运行IIS Express,右击它选择显示所有应用程序 ...

  8. ChatGpt windows+mac os+linux三平台桌面版下载

    1 前言 ChatGPT这段时间还是挺火的,有不了解的小伙伴可以看看这篇ChatGPT为何打响AI新时代的礼炮,一路火花带闪电[1],能简单的了解: 什么是ChatGPT ChatGPT为什么这么火 ...

  9. Clion 中 Rust 插件开启 WSL 调试

    Rust Linux 配置 wsl 中执行命令: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh 按照可能会卡住,需要在本 ...

  10. POJ1426: Find The Multiple

    题目: 给定一个正整数n,请编写一个程序来寻找n的一个非零的倍数m,这个m应当在十进制表示时每一位上只包含0或者1.你可以假定n不大于200且m不多于100位. 提示:本题采用Special Judg ...