首页 >> 中医针灸

如何零宕机将本地 Kafka 协同迁移上云?

发布时间:2025年09月27日 12:18

vel agreement,SLA)对 Kafka 战斗群展开划分。例如,在 CI/CD 渠道和数据移往情形里面,维修服务级别两国政府是有别于生产商维修服务的。都只,由于每个数据里面心的起着不尽相同,并非所有数据里面心都以外都只数目的 Kafka 战斗群。

Greyhound(Wix 自己的 Kafka SDK)懂得当维修服务重构在以外运行的数据里面心战斗群不可单次,该如何处理方在手构设计这个疑问并以防起因机件。

水量剩下的数据里面心?

为了使 2000 个薄维修服务的其产品和顾客不够易移往到多个管理机构在手构设计 Kafka 战斗群,原本的所设计具体来说首先将每个数据里面心(data center,DC)的水量全部剩下。

这样的所设计理论上只只能将其产品和顾客的连在手确实预设到取而代之的 Kafka 战斗群。因为 Wix 薄维修服务通过 Greyhound 层与 Kafka 战斗群相连,所以只要在 Greyhound 的生产商的设计就可以不够换连在手(同时才会下仅一个数据里面心受到负面影响)。

虽然这种所设计十分有趣,但是很痛心,它不才会做到到和执行者。

有都只理由:

有些维修服务只布防在其里面一个数据里面心,并且容易展开移往。这种所设计理论上,(只才会显现两种极端局面)要么全有要么全无,并且当水量调回时,就就会随之而来十分大的效用。未能被预设的大块情形才会就会遭到数据取走。数据里面心的水量不能在很长一段等待时间内显然剩下,因为这将大大提高一些维修服务的失效效用。

取而代之的是,原计划了一种取而代之的所设计,之外在可视水量期间展开移往。

零宕机移往

在可视水量里面执行者移往,就理论上不必展开繁复的都市原计划和试行。

这个反复只能逐步展开(一次只能对少量薄维修服务显现出负面影响,从而降低起因机件时的“爆炸重力加速度”),并且可以做到到显然的启动时化,从而降低人为失误,其里面之外启动时化的回滚反复。

首先移往其产品(在顾客在此最后)并非一种附加,这就理论上要花大量的等待时间来才会下所有的顾客都已处理方在手构设计好了自托管地战斗群里面寻觅的所有就有,并很难人身安全地预设到取而代之的战斗群表现形式。这就会在处理方在手构设计反复里面导致更大的过长,并且才会就会侵害某些 OTLP 业务流和采用者。此外,如果没有人数据取走,由于一些意打算不到的疑问而回滚顾客是不才会的。

活跃的 Kafka 顾客在才会下没有人消息取走和最小总体的重取而代之处理方在手构设计就有的才会下,不必首先展开预设。唯一的法则是将所有消耗的表现形式就有从自己的主机战斗群镜像到目标管理机构在手构设计战斗群。

镜像

为了才会下在移往反复里面不就会显现消息处理方在手构设计的取走,我们创建者了一个专供的镜像维修服务。一旦所有的顾客表现形式被确定,镜像缓冲器(replicator)维修服务就就会被立即在适当的碧战斗群里面创建者表现形式,并开始商品来自自托管地战斗群的就有,并将它们起着于到目标战斗群里面。

顾客移往

为了促使顾客移往,镜像缓冲器还坚持为每个西区透过绝对值拓扑,这样 Greyhound 顾客就可以从恰当的绝对值开始处理方在手构设计碧战斗群里面的就有——该绝对值是从自托管地战斗群里面第一个未能提交的绝对值拓扑而来的。

如果显现收场的才会,剪辑缓冲器很难立即顾客以后到自托管地战斗群。

所有这些剪辑缓冲器与顾客错综复杂的无线电都是通过专供的 Kafka 移往表现形式做到到的。Greyhound 顾客在启动时就开始泄密它们。

其产品移往

一旦某个表现形式的所有顾客都移往了,就可以移往其其产品。

原本的移往所设计只能劝告其产品预设战斗群连在手,同时几乎放弃传入的生产商劝告。这就理论上将这些劝告缓存到寄存缓冲器里面,而且被人们认为较为危险。

最后,我们提出了一种越发简便的所设计方案,它具体来说 Wix 的渐进在手构设计 Kubernetes 布防反复。每个取而代之的 pod 只就会在它的全部保健的测试但会时,才就会开始放弃传入的劝告,之外与 Kafka 的连在手。因为这个反复都是逐步展开的,所以总就会有“从前”的 pod 在运行,所以维修服务作为一个整体,心里能放弃到传入的劝告。

在 pod 启动时,Greyhound 其产品就会有趣地查看数据库来确定他们要连在手的战斗群。这要比快照的战斗群预设和就有缓存越发有趣。这就理论上可以人身安全地展开移往,不就会显现劝告取走,并且维修服务可以维持高可用性。

镜像的困难

只有在移往了其产品最后,才能终止对表现形式的镜像。但是要打算移往其产品,就得把其所有的表现形式顾客都移往出去。

事实证明,许多表现形式有来自不尽相同维修服务的多个顾客,这就理论上,镜像缓冲器顾客只能处理方在手构设计和镜像的水量越来越多。

这就显现出了一个疑问,由于我们相对较从前的自托管地 Kafka brokers 原版的核心技术局限性,使得顾客很难处理方在手构设计的表现形式需求量受限。在几次尝试降低 message.max.bytes 的在手果都适得其反(参阅 KAFKA-9254 bug),并随之而来才会严重的疑问后,我们立即有趣地降低镜像缓冲器顾客,并在它们错综复杂分片处理方在手构设计要镜像的表现形式。

移往之外——外部顾客控制

这种“有水量”的移往所设计为快照忽略 Greyhound 顾客的的设计或稳定状态,透过了很多取而代之的才会性,而无须在生产商里面采用取而代之的原版。

今日,我们已经有了基建,使 Greyhound 顾客很难泄密传入的号令来忽略稳定状态或的设计。这样的号令可以之外:

以外,这些都是理论上的,但利用已经存有的移往基建就可以不够易地做到到。

最佳法则论和定时

都只是出功展开 Kafka 战斗群移往的最佳法则论和技巧指南:

创建者一个脚本,直接定期检查稳定状态,如果没有人达到预期稳定状态就停止

让移往反复尽量地启动时化是不可或缺,所以让脚本很难直接定期检查是否很难进入下一阶段,这就会大大地加速移往反复。而另一方面,启动时回滚和自我修复是很难做到到的,因此,还是要交给人工干预。

匆忙好随时可以采用回滚

无论你的移往字符串的测试得有多好,生产商环境都是不确定的。为每个阶段匆忙一个现出的回滚附加是十分关键性的。一定要提前匆忙好,并在开始运行移往在此最后展开尽量多的的测试。

先从的测试 / 里面继表现形式和无负面影响表现形式入手

由于就有有才会取走,或者以后反复才会就会很绝望,因此移往反复就会十分危险。请确保用的测试表现形式开始的测试你的移往字符串。这样才能获得确实的定期检查和。利用的测试表现形式,通过将确实的生产商就有镜像到特定的的测试应用里面,单单独创生产商表现形式。这样,在顾客移往时,万一起因收场,也不就会负面影响到生产商,但是就会给你一个越发确实的生产商模拟。

创建者插件的测试法则座椅,以看出这两项和演变的稳定状态

即便你创建者了一个启动时化的、显然无人值班的移往反复,你也不必很难监测所起因的一切,并且当疑问起因时,你以外相关的工具可以展开调查。一定要事先匆忙好插件的监测座椅,以显然一致地看出你刚刚移往的顾客和其产品的这两项和历史稳定状态。

在下图里面,我们可以看出,其产品是如何出功地从自托管地战斗群预设到管理机构在手构设计战斗群的(随着越来越多的 Pod 被重取而代之启动并读取取而代之的的设计,因此集装箱就会降低)。

确保自托管地 Kafka 代理是最取而代之的补丁原版

因为我们的自托管地 Kafka brokers 没有人采用最取而代之的补丁原版,所以在我们多次尝试提高 message.max.bytes 的值时,我们最后还是起因了一个生产商事故(都只本文的“镜像的困难”部分)。我的忠告是,先不够取而代之自托管地战斗群 Kafka brokers 原版。如果不是最取而代之原版,那至少也要安装最取而代之的补丁。

总 在手

我们利用 Greyhound 和辅助剪辑维修服务和脚本,以便在可视水量期间以无缝方在手构设计做到到启动时、人身安全和逐步的移往。

这可不是一件有趣的事情。如果你可以充分利用数据里面心显然剩下水量的等待时间,或者可以承受得隔壁处理方在手构设计的失效等待时间,那么我强烈建议将其产品和顾客预设到取而代之战斗群,而不是首先镜像数据。这样的所设计越发容易,你也可以节省不够多的等待时间。

否则,当你在水量下展开移往时,你不必细心地按照执行者的顺序(顾客在其产品在此最后 / 最后)展开移往,并且要才会下你知道这个决策的后果(回滚的能够,取走数据的才会)。

上头你就会看到一张流程图,使你容易理解各种选择。

作者介绍:

Natan Silnitsky,任职于 Wix,后端基建开发者。

原文链接:

摩托罗拉前员工利用bug不作为访问获利,被判一年;马斯克拟合营收购其网两站后将字符串放到GitHub;阿里碧人事大变不够 | Q资讯

会两站在大厂一线搬砖、会两站操着CTO的心没用自由软件:一位平常里面年程序员的自由软件十年西路

ClickHouse为啥在字节跳动能这么火?| 卓越核心技术团队访谈录

保镖愤怒喊话:做到Kubernetes自由软件岗位容易在大厂内升为

活动举荐

2022 年第一波低收入来啦!超多好行礼 0 元免费申领,达标即送来~

摩托罗拉 FreeBuds Pro、JBL 古典音乐金砖、小米米家智能食疗壶、小米加湿缓冲器、InfoQ GEEK 抱枕

点个在看少个 bug👇

青岛男科去哪看
咸阳男科医院哪家最好
广州妇科医院哪家比较好
大同包皮过长治疗医院
深圳白癜风医院挂号
前列腺炎
四川肝病医院
射精障碍
泌尿系统肿瘤
健康知识大全

上一篇: 长焦和超短焦图像对比,极米H3S和坚果智慧墙O1 Pro哪款值得买?

下一篇: 这6件家电,要么买好一点的,要么干脆别买,高昂款是真的不好用

友情链接