什么是異地雙活及應(yīng)用場(chǎng)景

依托于阿里云高速通道專線、事件總線EventBridge和MSHA(Multi-Site High Availability)多活容災(zāi)平臺(tái),消息隊(duì)列RocketMQ版提供異地雙活功能,通過(guò)跨實(shí)例間數(shù)據(jù)的雙向同步和業(yè)務(wù)切流能力,實(shí)現(xiàn)業(yè)務(wù)恢復(fù)和故障恢復(fù)解耦,保障故障場(chǎng)景下的業(yè)務(wù)連續(xù)性。本文介紹異地雙活的概念、應(yīng)用場(chǎng)景、功能優(yōu)勢(shì)、使用限制和計(jì)費(fèi)說(shuō)明。
什么是異地雙活
多活容災(zāi)MSHA是在阿?巴巴電商業(yè)務(wù)環(huán)境演進(jìn)出來(lái)的多活容災(zāi)架構(gòu)解決?案,可以將業(yè)務(wù)恢復(fù)和故障恢復(fù)解耦?;陟`活的流量規(guī)則調(diào)度、跨域跨云管控、數(shù)據(jù)保護(hù)等能力,實(shí)現(xiàn)故障場(chǎng)景下的業(yè)務(wù)快速切換及恢復(fù)。
消息隊(duì)列RocketMQ版依賴于阿里云高速通道專線、事件總線EventBridge和多活容災(zāi)MSHA實(shí)現(xiàn)跨地域?qū)嵗g的消息數(shù)據(jù)雙向同步。和傳統(tǒng)容災(zāi)不同的是,異地雙活方案中,部署在不同數(shù)據(jù)中心的消息隊(duì)列RocketMQ版并行地為業(yè)務(wù)訪問(wèn)提供服務(wù),實(shí)現(xiàn)了資源的充分利用,避免一個(gè)或多個(gè)備份中心處于閑置狀態(tài)。當(dāng)一個(gè)數(shù)據(jù)中心發(fā)生故障而另一個(gè)數(shù)據(jù)中心正常運(yùn)行時(shí),可通過(guò)MSHA實(shí)現(xiàn)流量的切換,提供正常的消息服務(wù),實(shí)現(xiàn)用戶對(duì)故障無(wú)感知。
異地雙活功能不僅解決了容災(zāi)本身問(wèn)題,還提升了業(yè)務(wù)連續(xù)性,并且實(shí)現(xiàn)了資源的異地?cái)U(kuò)展。
消息隊(duì)列RocketMQ版的異地雙活具體實(shí)現(xiàn)如下:

杭州單元和上海單元分別部署了一套完整的業(yè)務(wù)系統(tǒng)。
MSHA接入層按照數(shù)據(jù)分流規(guī)則將業(yè)務(wù)數(shù)據(jù)路由到兩個(gè)業(yè)務(wù)單元,杭州單元和上海單元的應(yīng)用系統(tǒng)和消息隊(duì)列RocketMQ版Broker集群各自處理對(duì)應(yīng)地域的業(yè)務(wù)。
兩個(gè)單元的Broker集群配置了異地雙活功能,依賴于事件總線EventBridge提供的事件路由能力,以及云企業(yè)網(wǎng)CEN(Cloud Enterprise Network)提供的專有網(wǎng)絡(luò)間的私網(wǎng)通信通道,Broker集群A和Broker集群B間的數(shù)據(jù)實(shí)現(xiàn)了雙向同步,包括Topic數(shù)據(jù)、Group數(shù)據(jù)及消費(fèi)位點(diǎn)等信息。正常情況下,杭州單元和上海單元只負(fù)責(zé)各自單元的業(yè)務(wù),并且同時(shí)將各自單元的消息數(shù)據(jù)同步到對(duì)方單元的集群中進(jìn)行容災(zāi)備份。






假設(shè)杭州單元發(fā)生災(zāi)害,整個(gè)業(yè)務(wù)系統(tǒng)出現(xiàn)故障,此時(shí)通過(guò)MSHA切流操作將整個(gè)杭州的業(yè)務(wù)切到上海單元,因?yàn)榕渲昧水惖仉p活,上海單元的Broker集群存儲(chǔ)了杭州單元的業(yè)務(wù)數(shù)據(jù),可以繼續(xù)處理未完成的消息數(shù)據(jù)。在保證業(yè)務(wù)不中斷的前提下排查故障并修復(fù),做到先恢復(fù)業(yè)務(wù)再恢復(fù)故障。

當(dāng)杭州單元故障恢復(fù)后,通過(guò)回切流量,將杭州單元的業(yè)務(wù)重新切回到杭州單元的系統(tǒng)處理,整個(gè)過(guò)程用戶不感知故障,不影響用戶業(yè)務(wù)體驗(yàn)。

使用限制
實(shí)例類型限制:異地雙活功能僅企業(yè)鉑金版實(shí)例支持,標(biāo)準(zhǔn)版實(shí)例不支持。

地域限制:目前僅華東1(杭州)、華東2(上海)、華北2(北京)和華南1(深圳)地域支持使用異地雙活功能,并且使用前您需要提交工單申請(qǐng),其他地域暫不支持該功能。

計(jì)費(fèi)說(shuō)明
異地雙活為消息隊(duì)列RocketMQ版的高級(jí)功能。若您開(kāi)通了異地雙活功能,消息隊(duì)列RocketMQ版會(huì)按照包年包月方式進(jìn)行收費(fèi);未開(kāi)通則不收取異地雙活功能費(fèi)用。

應(yīng)用場(chǎng)景
異地雙活功能適用于以下典型業(yè)務(wù)場(chǎng)景:

按地域劃分單元的業(yè)務(wù)場(chǎng)景,如物流業(yè)務(wù)??梢酝ㄟ^(guò)物流訂單的地域?qū)I(yè)務(wù)進(jìn)行劃分,將業(yè)務(wù)引流到不同地域的生產(chǎn)中心同時(shí)處理,提高資源利用率和業(yè)務(wù)并發(fā)度。

對(duì)業(yè)務(wù)數(shù)據(jù)可靠性有嚴(yán)格要求的業(yè)務(wù)場(chǎng)景,如金融證券等。當(dāng)系統(tǒng)出現(xiàn)故障會(huì)對(duì)交易結(jié)果產(chǎn)生較大影響,通過(guò)異地雙活可以將業(yè)務(wù)快速切換到容災(zāi)站點(diǎn),并且根據(jù)同步的數(shù)據(jù)繼續(xù)處理未完成的消息。

功能優(yōu)勢(shì)
可用性

和傳統(tǒng)容災(zāi)方案相比,異地雙活方案中所有生產(chǎn)中心數(shù)據(jù)實(shí)現(xiàn)雙向同步,并且均可對(duì)外提供服務(wù),各中心分擔(dān)業(yè)務(wù)流量,提高了資源使用率。

故障快速恢復(fù)

異地雙活功能夠有效保障業(yè)務(wù)連續(xù)性。當(dāng)其中一個(gè)生產(chǎn)中心發(fā)生故障,區(qū)別于傳統(tǒng)的解決思路,不是去排查、處理和修復(fù)故障,而是立即使用切流將業(yè)務(wù)切換到其他生產(chǎn)中心,保證業(yè)務(wù)的連續(xù)性,將業(yè)務(wù)恢復(fù)和故障恢復(fù)解耦。

異地容量擴(kuò)容

業(yè)務(wù)高速發(fā)展,受限于單地有限資源,也存在資源存儲(chǔ)、計(jì)算網(wǎng)絡(luò)瓶頸等問(wèn)題。在消息隊(duì)列RocketMQ版水平拓展能力的支撐下,使業(yè)務(wù)具備其他機(jī)房或者其它地域快速擴(kuò)建的特性,減少成本浪費(fèi)。




作者:碼農(nóng)編程進(jìn)階筆記


歡迎關(guān)注微信公眾號(hào) :碼農(nóng)編程進(jìn)階筆記