RTO, RPO是啥?是割韭菜的意思么?

2023-11-23 12:08
文章标签 意思 rto rpo 韭菜

本文主要是介绍RTO, RPO是啥?是割韭菜的意思么?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

从嫩芽初发到绿意灼灼,韭菜到底经历了什么?想IPO想疯了的创业者最清楚。

第一次听到RPO,我以为是专门割韭菜的IPO,加上说这话的人不断对我挤眉弄眼,以至于我手抖,怎么搜都搜不到这个技术名词。

到了最后我才弄明白,他说的是RPO,而不是IPO,是灾备场景中的名词。

好家伙,又是缩写!不过经过多年的宣传,它俨然成了标准,反而全称没几个人记得住。打个比方,你知道HIV,但是并不知道HIV的英文全称是啥,就是这么朗朗上口。

但我们今天就非要看一下它的全称。

RTO = Recovery Time Objective = 恢复时间目标
RPO = Recovery Point Object = 恢复点目标
复制代码

其差别,一个是Time、一个是Point。用白话来说,就是在服务发生故障之后,能够恢复的时间和数据恢复的程度。

比如,你的数据库当机了。如果你的业务能够忍受30分钟之内启动起来,那么RTO就等于30分钟。

再比如,你的数据库当机了,30分钟后恢复了。如果你的业务能够忍受丢失最后2分钟的数据,那么你的RPO就是2分钟。

值得注意的是,任何宣称RTO=0RPO=0的厂商,都是在吹牛皮。

单机服务

对于单机服务来说,从故障到恢复正常服务,它的间隔时间不可能是0。哪怕你是用了supervisor这样的工具瞬间把它给拉了起来,它也不可能瞬间完成。所以RTO不会等于0。

但RPO倒是可以做到逼近0损失的。因为目前的数据库服务,大多数都会写一份预写日志来防止异常发生。比如ES会先写一份translog,MySQL会先写一份redo log,Postgres会写一份wal日志。这些日志会顺序写到磁盘上,虽然会丢失flush()之间的一小部分数据,但大多数无伤大雅。

但单机服务无法做到HA,所以即使它的指标再好看,对我们来说也没有意义。

集群服务

对于集群服务来说,就需要考虑分布式环境中的复杂问题。比如Kafka采用ISR列表防止单台机器故障之后的服务可用问题。

首先,分布式系统,都是通过副本机制来保证数据的冗余。主从、raft等交互方式都需要从中选出一个master来接收数据的变更操作。当这个master故障之后,需要从 从列表 中选举一个新的master。

拿Kafka来说,单节点当机,短暂影响生产消费,故障恢复时间与 leader 选举时间与 partition 数量有关(约 10 秒 isr 探测时间)。使用 ACK 模式,配合重试,能够保证故障期间数据不丢失。

这已经算是一个非常好的效果了。

但假如整个集群出现问题,比如,机房断电了,怎么办?

多机房

单机房的风险,只能通过冗余机房来解决,目前较为流行的架构是两地三中心。

跨机房的集群同时会分为AB区。拿5节点服务来说,A机房部署3个,B机房部署2个,集群要求的最小节点数是3。当B机房出现问题,A机房的表现与单机房表现无异。但当A机房出现问题,我们就需要人工介入,在B机房手动启动第6个节点。

故障处理的间隔时间就是RTO的值。

在这种情况下,同样有丢失数据的风险。5个节点,根据NWR策略,需要写入3个才算成功。但如果数据写入的恰好是A机房的这三个节点,数据还没有完全同步到B机房,那同步时间间隔内的数据就会丢失。所以智能的服务还要有能够识别出机房和zone的能力,以便在发生问题时,B机房起码有一份数据时刻是最新的。

End

所以,缩写还是很有魅力的。比如,xjjdog就可以缩写为xD,虽然你不能解码它的意思,是不是很带感?


 

这篇关于RTO, RPO是啥?是割韭菜的意思么?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/417836

相关文章

Maven创建项目中的groupId, artifactId, 和 version的意思

文章目录 groupIdartifactIdversionname groupId 定义:groupId 是 Maven 项目坐标的第一个部分,它通常表示项目的组织或公司的域名反转写法。例如,如果你为公司 example.com 开发软件,groupId 可能是 com.example。作用:groupId 被用来组织和分组相关的 Maven artifacts,这样可以避免

? extends T 和 ? super T分别是什么意思?有什么不同?

<? extends T>首先你很容易误解它为继承于T的所有类的集合,这是大错特错的,相信能看下去你一定见过或用过List<? extends T>吧?为什么我说理解成一个集合是错呢?如果理解成一个集合那为什么不用List<T>来表示?所以<? extends T>不是一个集合,而是T的某一种子类的意思,记住是一种,单一的一种,问题来了,由于连哪一种都不确定,带来了不确定性,所以是不可能通过add

路由器的Loopback地址是什么意思?

本地环回接口(或地址),亦称回送地址(loopback address)。 此类接口是应用最为广泛的一种虚接口,几乎在每台路由器上都会使用。常见于如下用途: 1 作为一台路由器的管理地址  系统管理员完成网络规划之后,为了方便管理,会为每一台路由器创建一个loopback 接口,并在该接口上单独指定一个IP 地址作为管理地址,管理员会使用该地址对路由器远程登录(telnet )

【Get深一度】小波分析概念3——正则性是什么意思,通俗解释

正则性英文是regularity,正则性一般用来刻画函数的光滑程度,正则性越高,函数的光滑性越好。通常用Lipschitz指数k来表征函数的正则性。 度量函数的正则性时,消失矩的概念是重要的,若消失矩的阶数小于正则性指数,这是小波度量不出该

【Get深一度】小波分析概念2——消失矩阶数是什么意思,通俗解释

实际应用中,基本小波不仅要满足容许条件,还要施加所谓的消失矩(Vanishing Moments)条件原因:使 尽量多的小波系数为 零 或者产生 尽量少 的非零小波系数目的:有利于数据压缩和消除噪声。 小波的消失矩的定义:若

【Get深一度】小波分析概念1——紧支撑集是什么意思,通俗解释

最近学到小波,在仿真中也用到了紧支撑函数;紧支撑性越好,说明能量越集中;用最通俗的话来讲,紧支撑是这样的: 对于函数f(x),如果自变量x在 0附近的取值范围内,f(x)能取到 C;

对用户透明的真正意思-Nazgul

!!!出处已经忘记,但文章我保留了!!! 某某软件、架构、操作“对用户透明” 第一次看到这个句型,你的理解是如何的? 是能看见“一个容器里面的详细、具体的内容物(这里指具体实现方法、代码等)”的那种透明,那种一览无余;还是“透过一块玻璃看东西,反而未有察觉这块玻璃的存在(玻璃指具体实现方法、代码等)”的这种因为透明所以“反而”什么都看不到了? 一览无余,那么完全窥探了内容

CSS行元素的截断样式box-decoration-break属性,有点儿意思!

原文地址:原文连接 在CSS中,行元素默认情况下,行内元素不会独占一行,而是在一行内根据其内容的大小进行排列。行内元素的宽度和高度由其内容决定,不能直接设置宽度和高度。行内元素不能包含块级元素,只能包含其他行内元素或文本。行内元素可以设置水平方向的边距(margin)和内边距(padding),但不会影响到其他元素的布局。 常用行内元素:a、span、i、em、strong、img等。 一、

linux ls -lrt 命令是什么意思

ls -lrt 表示 按修改时间 倒序 列出当前工作目录下的所有文件的详细信息 -lrt 实际上是代表了 "-l -r -t" 这三个选项集合。   1)-l 表示开启长列表输出,打开了就会输出文件权限、引用计数、所有者、所属组、文件大小、修改日期和文件名称这些详细的信息。 2)-t 以时间排序,最新的文件会排在上面。 3)-r 表示反向排序、倒序输出。 4)-x 按列输出,横向排

linux shell dirname $0是什么意思

获得当前shell脚本的绝对路径 #!/bin/bashSHELL_FOLDER=$(cd $(dirname $0);pwd)echo ${SHELL_FOLDER}   https://blog.csdn.net/jackyechina/article/details/52813007