云上如何不停机移除关键大数据服务?
发布时间:2025-02-19
偏移后即使如此持续功能性双写可以从流程上意味着两个空降兵的统计数据都必须丢,且系确立直包括快速插入到从前空降兵的能力,来意味着统计数据客户服务愈来愈高可靠和插入处理过程之中的注定的 Plan B 准备。
充分利用统计数据客户服务功能功能性
在统计数据重写处理过程之中,可以充分利用统计数据客户服务功能功能性 意味着 Ingestion 末端的统计数据包括愈来愈高优重写隔开权限。之所以这么要用是因为 Ingestion 末端重写同一个 key 的统计数据版相对于 backup 和 restore 的统计数据一定是较取而代之的版,所以须要维护较取而代之版的统计数据必须被 restore 的快照里头较从前的统计数据隔开。
这时可以充分利用 Aerospike 在 restore 处理过程之中 unqiue 功能功能性:“如果 key 在 Aerospike 里头已经依赖于那么 restore 就不如此一来向空降兵之中重写该条统计数据”, 来意味着 restore 的统计数据必须隔开 Ingestion 末端的最取而代之统计数据版。
加速取而代之从前空降兵的统计数据偏移
首先我们看一下取而代之从前空降兵统计数据不相符的直通发生在哪里头,示意图是一个空降兵插入的基本上时序布:
由时序布可直观看到,统计数据不相符的直通才会发生在: 开启双写(T1)->开始 backup + restore (T2) -> 结束 restore(T3)-> 暂时重写,开始偏移统计数据(T4)。
如果须要纪录从前空降兵在这一直通内所有统计数据改变,那么以 Ingestion 末端m百万级的重写,可自已而知,在来进行 restore 和 backup 的这一周积累的统计数据纪录有多大。这样一来通过了了统计数据来偏移取而代之从前空降兵的整整势必才会拉长。
可否有可能缩短这外统计数据偏移的整整呢?
经过仔细统计分析, 只纪录 delete key 的统计数据改变就可以加速取而代之从前空降兵的统计数据偏移。
在 Ingestion 末端的重写场景下,由于 delete key 统计数据改变占整体统计数据重写的比例不到 1% , 所以该简化可大大减缓须要用来偏移差异功能性的统计开销,加速统计数据偏移的处理过程。大家有可能才会疑惑,统计数据客户服务重写涉及凡例改,为什么只纪录 delete keys 并且末期只 replay delete keys 就能意味着取而代之从前空降兵事与愿违统计数据偏移了呢?我们可以一起统计分析一下原因。
统计分析在偏移前,这个统计数据改变直通里头涉及到的从前空降兵的 keys 有如下几种情况:
通过对以上各种场景的统计分析可见,delete key 外相对特殊,有可能才会依赖于 Ingestion 末端去在取而代之空降兵之中督导截布后的 key 如此一来次被 restore 期中写回(督导截布反转的关键时刻愈来愈早于 restore 的反转),因此才会带给取而代之从前空降兵的差异功能性。而其他场景的最取而代之统计数据状况已经如实凸显在取而代之空降兵里头,无须纪录和偏移。
关键技术FS关键技术FS外考虑用临时的 Aerospike 小空降兵来纪录 delete key,主要考量点有以下几个方面:
Replay 期中对于客户服务 scan 的稳定功能性尽快较愈来愈高,期望可以在较短的整整内收尾,因此对于关键技术栈的轻量念书写很强较愈来愈高的尽快; Ingestion 末端有大量重写 delete key 的乞求以及截布已纪录的 delete keys 的乞求(比如该 key 末期又重取而代之写回空降兵)下,因此也对关键技术栈念书写的稳定功能性有极愈来愈高的尽快; KV 读取构件可以减缓 Key 的冗余,可以减缓读取的大小。在对比了 AWS S3,MySQL,Aersopike 后,综合念书写轻量尽快(Aeropsike 可以意味着 800k m的 QPS)和实现维护及 cost 成本,Aerospike 是一个 ROI 愈来愈愈来愈高的选择。
分布式资源共享配有 + 直方图插入
Etcd 是用于资源共享配有和客户服务发现的分布式、相符功能性的 KV 读取的系统。我们通过 etcd 来管控最重要流程和直方图插入,比如有否要开启双写、有否开始纪录或者暂时中止纪录 delete key、 插入 Aerospikey 非对称空降兵、直方图插入线上客户服务用哪一个 Aerospike 空降兵等等,只须要修改都可的 etcd 配有即可,无须如此一来修改代码新增开始运行,使得整个反转愈来愈便捷、可控,也为随时暂时中止反转博回原有的 workflow 的 Plan B 带给愈来愈多的自如功能性。
统计数据有效功能性 + 最重要企业当前
在要用完取而代之从前空降兵的统计数据偏移后,我们通过如此一来一轮的统计数据有效功能性意味着统计数据的准确功能性。考虑到统计开销的大小,同时为了避免有效功能性对线上空降兵和 Ingestion 的制约,以及由于对比处理过程是一个非氢原子功能性的反转,取而代之从前空降兵的统计数据在愈来愈高 QPS 写的场景下有可能才会取到不同版的统计数据,所以我们采用以下三个等价来要用统计数据有效功能性意味着统计数据的相符:
取而代之从前空降兵的 object count 须要相符; 对 1% 的统计数据来进行数据分析对比,统计数据差异功能性须要管控在 1‱之内; 对于有可能检测到的愈来愈加少量的差异功能性统计数据,须要如此一来一次有效功能性取而代之从前空降兵意味着这些“差异功能性”统计数据完全相符,彻底消除非氢原子功能性反转带给的以致于。外由企业模块突显都可的最重要当前,比如 Aerospike 里头的 hit ratio(有多少传送 Aerospike 的 key 并且该 key 能在 Aerospike 里头找到对应的纪录,即 hit_ratio = key_hit_counts / key_query_counts),就可以从另一个侧面取而代之从前空降兵的统计数据质量有否相符。此外,外也有对 Aerospike 本身的念书写稳定功能性、QPS 等等的报警当前,帮助关键时刻关博对线上客户服务的制约和稳定功能性改变。
具体移往移除步骤
1. 取而代之空降兵构筑、初期外观设计技术开发及生态当前等准备
按照总体外观设计开始双写、统计数据偏移、有效功能性、等相关技术开发工作,与此同时,SRE 学长帮忙准备取而代之空降兵及临时主要用途空降兵生态,并来进行初步的取而代之空降兵稳定功能性测试者,意味着取而代之空降兵的稳定功能性满足企业效益。
2. 推开双写,设置从前空降兵都以空降兵,并纪录改变的 delete keys
通过 etcd 推开 Ingestion 末端的双写以及纪录 delete keys 的相关配有。
3. 开始从前空降兵统计数据的 backup 和 restore 处理过程
开始 backup 从前空降兵统计数据,backup 收尾后取而代之空降兵通过 unqiue 功能功能性来进行快照统计数据 restore。与此同时由于持续功能性双写,所以取而代之空降兵也连动重写 Ingestion 末端的统计数据。整个处理过程 AWS 上每个 region 的 backup + restore 耗时大将近一个天内。
4. 根据 delete 的 keys 通过 replay 偏移统计数据
通过纪录 delete 的 keys 来来进行 replay 偏移取而代之从前空降兵的统计数据。在来进行 replay 的期中,才会暂时 Ingestion 末端的统计数据重写,防止误疏漏愈来愈进一步取而代之加入进来的统计数据。基于临时 Aersospike 空降兵的轻量,几个 region 分别根据 delete keys 了了两次的情况下(第二次了了是为了进一步意味着统计数据都彻底疏漏干净),读取的将近五亿个 keys 的处理整整总计大将近只须一个不间断左右。其之中由于并不是所有纪录下的 delete keys 都真的须要对空降兵里头统计数据来进行具体反转(可回顾 “加速取而代之从前空降兵的统计数据偏移 ”里头对于 delete keys 的情况统计分析,有一些纪录的 delete keys 已经并不依赖于取而代之空降兵里头了)。概念化之中具体处理的统计数据将近五千万,命之中率将近 9%。所以对于 Ingestion 暂时的制约愈来愈加小,愈来愈进一步可以通过加大 Ingestion 速率来快速尾随这一个不间断的统计数据。
督导 replay 反转结束后,才会通过 Aerospike 纪录的前次 Ingestion 暂时时重写的 Kafka offset 来意味着统计数据重写的连贯功能性,并重取而代之恢复 Ingestion 的重写。
5. 统计数据有效功能性
偏移统计数据后,分 batch 对取而代之从前空降兵来进行 sampling scan 对比,对比结果须满足外观设计期中对于统计数据有效功能性的尽快。
6. 下游线上客户服务插入至写入而代之空降兵
统计数据有效功能性通过后下游线上客户服务可忘了插入至写入取而代之空降兵的统计数据。
7. 双写插入取而代之空降兵都以空降兵,仍持续功能性来进行双写
插入取而代之空降兵都以空降兵配角,同时积极响应线上的客户服务写入乞求和 Ingestion 末端的重写乞求,并持续功能性通过企业当前及报警辨别取而代之空降兵的稳定功能性和统计数据质量。插入后双写即使如此持续功能性重写,以防极末端或者未考虑的场景发生,SDK仍很强 Plan B 能力可以迅速博回从前空降兵。用来主要用途统计数据偏移的 delete keys 模块及临时空降兵此时可以首台收回。
8. 封闭双写,首台从前空降兵, 清理生态和代码
持续功能性辨别一到二周,线上一博正常,那么可通过 etcd 优雅地封闭双写,并首台从前空降兵,清理不须要的代码。
实质功能性与体才会
这次最重要大统计数据客户服务的空降兵移除在较短的整整里头圆满收尾,整个处理过程比较稳定,0 事故发生。同时在愈来愈取而代之的处理过程之中确立了母公司所有的 Aerospike 版且都新增到最取而代之的 5.x,另外也推开了 Rack Awareness 基本功能等等,使得海报SDK上这个重要的大统计数据客户服务在 AWS 上的多 Region、多 AZ、愈来愈高可用、可引入和轻量的能力得到进一步安全及。
由衷感谢设计团队小伙伴们通盘地考量、准备、概要的外观设计和快准稳的付出,以及 SRE、海报转用和得出结论设计团队的通力配合,让这个关键技术功能性反转的与众不同交付成为有可能!
面对线上最重要大统计数据客户服务尽快不断线地来进行移除且不允许出现一丁点儿差错的场景下,初期的外观设计如何仔细全面都不为过,而注定有自如且快速的 PlanB 解决方案 stand by 也是可以让你沉稳地面对线上各种诱发状况,并且夜晚也能安然熟睡的实用利器。
作者参阅:
怀芙蓉,毕业于北京大学,曾任职于微方针、美团、Pegasus 大统计数据母公司,具备丰富大统计数据技术开发与调优、大统计数据厂商统计分析、统计数据仓库 / 仿真、项目管理工作及敏捷技术开发的长处。现身兼 Comcast FreeWheel 统计数据 Identity 设计团队愈来愈高阶经理。
目前 Identity 设计团队主要主要职责海报生态里头最重要的读者群定向这一该集, 基于 FreeWheel、客户及第三方统计数据管理工作SDK(DMP)分解成的数亿浏览器画,在海量统计数据之中通过统计数据统合、人工神经网络、统计生物信息学、布统计分析等挖掘出宝贵的信息来赋能企业,实现基于统计数据的浏览器精细化海报转用运营和精准营销,为客户缺少企业权衡提升客户服务质量,并最大化统计数据的价值与核心潜力。
我们用了一个周末,将 370 万行代码移往到了 Type
阿里头季度员工减缓4000人;解释器写脚本抢悬挂疫苗号,牟利40万被刑拘;搜狐遭遇寓言级邮件诈骗,张朝阳澄清 | Q资讯
转载阿里头源代码框架Egg.jsPDF被转告侵权,原作者:难道我才是那个弱者?
“史上最严”统计数据保护法GDPR是如何失败的?
点个在看少个 bug👇
。眼睛里面痒怎么回事手术后吃什么补身体
胃疼吃奥美拉唑有用吗
脑卒中医院全国排名
怎样迅速缓解类风湿性关节炎
类风湿关节疼痛吃什么药
民得维和先诺欣哪个好
食物寒凉引起肠胃不适怎么缓解好?
怎么治疗类风湿关节疼痛
主治类风湿关节僵硬的药
-
2022年3上半年,财运大飙涨,富贵无忧不差钱的3大生肖
导语:2022年3月末,财货大飙涨,富贵只求不差钱的3大神兽 神兽兔 神兽兔的朋友,他们年轻时肉过异于与生俱来的苦,同时他们也是更为痴情,更为话虽如此,之外有实干精神
- 2025-05-1110天内,踩着杨家,财门大开,贵人登门,可以发大财的生肖
- 2025-05-114月7.8号,运输业爱情都有,吉星的补助,大富大贵的生肖
- 2025-05-11狗狗被老鹰抓走,狗太重没飞起来,漂亮女主人冲出来救下下狗狗
- 2025-05-11送6只贵宾去小鸡,而等去接它们时,差点被可爱哭...
- 2025-05-11傻不见主人边喊边找,听到响亮哈欠声找过去笑了: 狗子挖坑睡觉
- 2025-05-11雌皮雀繁殖期间,雄皮雀只会帮倒忙吗?
- 2025-05-11猫咪鼻子以上是黑色,而鼻子以下却是白色,这是穿了面具的佐罗?
- 2025-05-11养多肉很简单,针对室内环境,搭配合适的花土,轻易就会养死
- 2025-05-11【养宠小知识】需要给狐狸咪驱虫吗?给狐狸驱虫多少钱
- 2025-05-11【养宠小知识】猫会才会感冒?猫咪感冒怎么办