應(yīng)用多活技術(shù)白皮書(shū)_第1頁(yè)
應(yīng)用多活技術(shù)白皮書(shū)_第2頁(yè)
應(yīng)用多活技術(shù)白皮書(shū)_第3頁(yè)
應(yīng)用多活技術(shù)白皮書(shū)_第4頁(yè)
應(yīng)用多活技術(shù)白皮書(shū)_第5頁(yè)
已閱讀5頁(yè),還剩65頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

231第一章應(yīng)用多活的起源2第二章應(yīng)用多活的典型架構(gòu)3第三章應(yīng)用多活的技術(shù)分析4第四章應(yīng)用多活的技術(shù)原理567841.1容災(zāi)成為企業(yè)上云和用云的基礎(chǔ)要求2019年IDC發(fā)布的《全球云計(jì)算IT基礎(chǔ)設(shè)施市場(chǎng)預(yù)測(cè)報(bào)告》顯示:2019年全球云上的IT基礎(chǔ)設(shè)施占比超過(guò)傳統(tǒng)數(shù)據(jù)中心。越來(lái)越多企業(yè)因?yàn)樵朴?jì)算低成本、穩(wěn)定性而選擇在云端構(gòu)建系統(tǒng),云已經(jīng)變成了一個(gè)主流IT基礎(chǔ)設(shè)施。近年來(lái),開(kāi)源技術(shù)和云技術(shù)保持高速發(fā)展,出現(xiàn)種類繁多的產(chǎn)品和服務(wù),技術(shù)人員決策權(quán)變大,架構(gòu)更迭速度日益加快。在高速演進(jìn)的過(guò)程中,要謹(jǐn)防人為的不合理故障,同時(shí)也要關(guān)注自然災(zāi)害的影響。一次不恰當(dāng)業(yè)務(wù)中斷,可能帶來(lái)嚴(yán)重的品牌、客戶、經(jīng)濟(jì)損失。所有的上云企業(yè)都把容災(zāi)系統(tǒng)能力建設(shè)作為最基礎(chǔ)目標(biāo)來(lái)要求,并保證投入。只有確保災(zāi)難發(fā)生時(shí),關(guān)鍵數(shù)據(jù)不丟失,系統(tǒng)服務(wù)盡快恢復(fù)運(yùn)行,企業(yè)才能保證長(zhǎng)久、平穩(wěn)的高速發(fā)展。1.2災(zāi)備容災(zāi)的局限性災(zāi)備容災(zāi)建立在數(shù)據(jù)級(jí)容災(zāi)的基礎(chǔ)之上,常用的實(shí)現(xiàn)方式是在備份機(jī)房構(gòu)建一套相同的應(yīng)用系統(tǒng),災(zāi)難發(fā)生時(shí)會(huì)在約定的時(shí)間范圍(RTO)內(nèi)恢復(fù)運(yùn)行,盡可能減少災(zāi)難帶來(lái)的損失。在實(shí)際實(shí)施時(shí),存在以下幾個(gè)問(wèn)題:l災(zāi)備中心平時(shí)不提供服務(wù),在切換到災(zāi)備中心的關(guān)鍵時(shí)刻時(shí)無(wú)法確定是否可以成功切換。l災(zāi)備中心平時(shí)不提供服務(wù),整個(gè)災(zāi)備資源會(huì)處于閑置狀態(tài),成本浪費(fèi)比較高。l災(zāi)備中心平時(shí)不提供服務(wù),所以平時(shí)提供服務(wù)的機(jī)房還停留在單地域,當(dāng)業(yè)務(wù)體量大到一定程度時(shí),這種模式無(wú)法解決單地域資源瓶頸的問(wèn)題。56圖1-1“同城災(zāi)備架構(gòu)”和“異地災(zāi)備架構(gòu)”示意圖1.3應(yīng)用多活:以應(yīng)用為中心的云原生容災(zāi)架構(gòu)“應(yīng)用多活”是“應(yīng)用容災(zāi)”技術(shù)的一種高級(jí)形態(tài),指在同城或異地機(jī)房建立一套與本地生產(chǎn)系統(tǒng)部分或全部對(duì)應(yīng)的生產(chǎn)系統(tǒng),所有機(jī)房?jī)?nèi)的應(yīng)用同時(shí)對(duì)外提供服務(wù)。當(dāng)災(zāi)難發(fā)生時(shí),多活系統(tǒng)可以分鐘級(jí)內(nèi)實(shí)現(xiàn)業(yè)務(wù)流量切換,用戶甚至感受不到災(zāi)難發(fā)生。阿里巴巴的“同城多活架構(gòu)”和“異地多活架構(gòu)”(代號(hào)“單元化”)都是典型的應(yīng)用多活實(shí)現(xiàn)技術(shù)。圖1-2阿里巴巴“同城多活架構(gòu)”和“異地多活架構(gòu)”示意圖7l分鐘級(jí)RTO:恢復(fù)時(shí)間快,阿里內(nèi)部生產(chǎn)級(jí)別恢復(fù)時(shí)間平均在30s以內(nèi),外部客戶生產(chǎn)系統(tǒng)恢復(fù)時(shí)間平均在1分鐘。l資源充分利用:資源不存在閑置的問(wèn)題,多機(jī)房多資源充分利用,避免資源浪費(fèi)。l切換成功率高:依托于成熟的多活技術(shù)架構(gòu)和可視化運(yùn)維平臺(tái),相較于現(xiàn)有容災(zāi)架構(gòu),切換成功率高,阿里內(nèi)部年切流數(shù)千次的成功率高達(dá)99.9%以上。l流量精準(zhǔn)控制:應(yīng)用多活支持流量自頂?shù)降追忾],依托精準(zhǔn)引流能力將特定業(yè)務(wù)流量打入對(duì)應(yīng)機(jī)房,企業(yè)可基于此優(yōu)勢(shì)能力孵化全域灰度、重點(diǎn)流量保障等特性。1.4阿里巴巴的應(yīng)用多活之路在2007-2010年期間,阿里巴巴采用同城多活架構(gòu)保障在線業(yè)務(wù)的高可用。同城多活架構(gòu)能夠抵御機(jī)房級(jí)故障,即:同城任一機(jī)房發(fā)生故障,其他機(jī)房都具備實(shí)時(shí)接管能力。但是同城架構(gòu)存在地域單點(diǎn)的隱患。2013年,隨著業(yè)務(wù)規(guī)模的逐年攀升,阿里巴巴面臨杭州機(jī)房容量不足的問(wèn)題。與此同時(shí),杭州的夏天大約持續(xù)了1個(gè)月40℃高溫,機(jī)房全天24小時(shí)空調(diào)不間斷的工作,持續(xù)高溫用電量飆升讓機(jī)房存在被限電的風(fēng)險(xiǎn)。如果斷電情況發(fā)生,對(duì)業(yè)務(wù)將是直接跌0的影響,阿里工程師就在每天的驚心吊膽中度過(guò)了這異?!癏ot”的1個(gè)月。在容量和災(zāi)難的雙重壓力下,阿里工程師開(kāi)始發(fā)起內(nèi)部代號(hào)"單元化"的異地多活項(xiàng)目,提出"1年驗(yàn)證,2年雙活,3年多活"的目標(biāo)。2013年,阿里工程師在杭州同城兩個(gè)機(jī)房完成多活技術(shù)可行性論證。2014年,為了保障技術(shù)的穩(wěn)定演進(jìn),工程師挑選距離杭州相對(duì)較近的上海進(jìn)行生產(chǎn)雙活試點(diǎn),成功構(gòu)建杭州和上海兩地異地雙活架構(gòu),阿里正式成為業(yè)內(nèi)第一個(gè)具備異地多活的企業(yè)。2015年,在具備2年雙活成熟實(shí)踐經(jīng)驗(yàn)的基礎(chǔ)上,阿里工程師開(kāi)始探索多個(gè)數(shù)據(jù)中心多活的技術(shù)可行性,攻堅(jiān)多單元梳理、改造、數(shù)據(jù)同步、運(yùn)維等一系列難關(guān),生產(chǎn)業(yè)務(wù)部署在千里之外的三地四中心,具備生產(chǎn)級(jí)別可用的異地多活能力。2017年,異地多活構(gòu)建的多單元成為阿里的基礎(chǔ)設(shè)施,阿里多個(gè)新興技術(shù)均依托多活能力進(jìn)行生產(chǎn)規(guī)?;臏y(cè)試驗(yàn)證。同年雙十一,阿里工程師為支撐業(yè)務(wù)提出在雙十一凌晨切流的目標(biāo),如何在減少在線業(yè)務(wù)流量影響面下更快更穩(wěn)的流量切換成為多活重大的挑戰(zhàn)。82017年,異地多活支撐雙十一平穩(wěn)進(jìn)行數(shù)據(jù)中心流量調(diào)度數(shù)次,意味著在已有的日常穩(wěn)定性保障基礎(chǔ)上,異地多活已具備大促時(shí)期流量無(wú)損的秒級(jí)切換能力。2019年年初,阿里巴巴CTO行癲提出在2019年阿里巴巴核心系統(tǒng)全面上云的目標(biāo),與此同時(shí),外部企業(yè)在穩(wěn)定性的挑戰(zhàn)下,提出希望阿里對(duì)外輸出成熟的多活架構(gòu)經(jīng)驗(yàn)的需求。阿里工程師為服務(wù)集團(tuán)上云應(yīng)用和外部客戶,將多年沉淀的多活技術(shù)產(chǎn)品孵化上云,以阿里云云產(chǎn)品的形態(tài)服務(wù)阿里巴巴集團(tuán)和外部客戶,以豐富多樣的多活架構(gòu)支撐不同的業(yè)務(wù)形態(tài)。在2019-2021年期間,應(yīng)用多活云產(chǎn)品(AHAS-MSHA)先后幫助數(shù)字政府、物流、能源、通信、互聯(lián)網(wǎng)等十余家不同行業(yè)中的大型企業(yè)成功構(gòu)建應(yīng)用多活架構(gòu),基于大型企業(yè)的行業(yè)經(jīng)驗(yàn),應(yīng)用多活進(jìn)一步演進(jìn)出混合云多活等一系列新特性。2022年初,隨著企業(yè)對(duì)容災(zāi)訴求日益強(qiáng)烈的訴求增強(qiáng),應(yīng)用多活的發(fā)展需要更多的組織和人介入共建,推動(dòng)應(yīng)用多活的發(fā)展。阿里工程師正式把多活架構(gòu)代碼對(duì)外開(kāi)源,命名為AppActive,希望和社區(qū)企業(yè)、開(kāi)發(fā)者共建多活生態(tài)和能力,在阿里多年應(yīng)用多活經(jīng)驗(yàn)的基礎(chǔ)上,結(jié)合社區(qū)的需求和貢獻(xiàn),幫助企業(yè)構(gòu)建高可用架構(gòu)。圖1-3阿里應(yīng)用多活發(fā)展之路2.1同城場(chǎng)景的應(yīng)用多活同城應(yīng)用多活,顧名思義就是分布在同城多個(gè)機(jī)房?jī)?nèi)的應(yīng)用同時(shí)對(duì)外提供服務(wù)。同城機(jī)房物理距離較小(物理距離小于100公里)。同城場(chǎng)景下多機(jī)房的網(wǎng)絡(luò)、服務(wù)互通,某機(jī)房局部故障會(huì)影響到全局,爆炸半徑不可控。應(yīng)用多活架構(gòu)的難點(diǎn),在于機(jī)房之間的流量路由和隔離。當(dāng)某機(jī)房出現(xiàn)故障,可以做到機(jī)房級(jí)的快速切換。更精細(xì)化的場(chǎng)景,如果是某中心內(nèi)某應(yīng)用的故障,還需要做到應(yīng)用級(jí)的切換。為了實(shí)現(xiàn)機(jī)房間的流量調(diào)度,同城應(yīng)用多活架構(gòu)下,建立多個(gè)服務(wù)部署的邏輯區(qū),這個(gè)邏輯區(qū)稱之為"單元格(Cell)"。每個(gè)單元格內(nèi)的業(yè)務(wù)流量盡可能的在本區(qū)域內(nèi)調(diào)用優(yōu)先。由于同城跨機(jī)房RT較小,因此多個(gè)單元格的云服務(wù)采用單集群模式,從而可以避免數(shù)據(jù)一致性上的復(fù)雜度。同城應(yīng)用多活的架構(gòu)如下圖所示:圖2-1“同城應(yīng)用多活架構(gòu)”示意圖同城應(yīng)用多活對(duì)應(yīng)用系統(tǒng)的代碼侵入較小,基于靈活的流量調(diào)度和單元格間的流量路由,能做到故障場(chǎng)景下的業(yè)務(wù)快速恢復(fù),實(shí)現(xiàn)業(yè)務(wù)恢復(fù)與故障恢復(fù)的解耦。9102.2異地場(chǎng)景的應(yīng)用多活同城近距離的容災(zāi)建設(shè)難以抵御地域級(jí)別的災(zāi)難,參考銀行業(yè)的容災(zāi)標(biāo)準(zhǔn),災(zāi)備中心建設(shè)都要求滿足“三不原則”(即:災(zāi)備中心與生產(chǎn)中心不應(yīng)設(shè)立在同一地震帶,同一江河流域,同一電網(wǎng)因此異地災(zāi)備中心一般距離生產(chǎn)中心300公里以上。異地應(yīng)用多活,顧名思義就是分布在異地多個(gè)機(jī)房?jī)?nèi)的應(yīng)用同時(shí)對(duì)外提供服務(wù)。在異地超遠(yuǎn)距離的場(chǎng)景下建設(shè)應(yīng)用多活,最大的挑戰(zhàn)在于超遠(yuǎn)距離帶來(lái)的網(wǎng)絡(luò)延遲。由于網(wǎng)絡(luò)延遲大,云服務(wù)很難跨地域的以單集群的模式提供服務(wù),而多集群模式下會(huì)帶來(lái)數(shù)據(jù)一致性的復(fù)雜度。為了解決單集群無(wú)法突破物理距離限制的問(wèn)題,阿里提出了“單元化”方案。核心思路是對(duì)數(shù)據(jù)進(jìn)行分片,通過(guò)自上而下的流量路由,讓特定分片的數(shù)據(jù)到特定中心完成讀寫(xiě),以此解決數(shù)據(jù)一致性的問(wèn)題,并在此基礎(chǔ)上解決了業(yè)務(wù)的容災(zāi)和水平擴(kuò)展問(wèn)題。這個(gè)可以水平擴(kuò)展的邏輯中心稱為"單元(Unit)"。單元分為兩種類型,中心單元與普通單元。單元內(nèi)部署的業(yè)務(wù)分為三種類型,全局業(yè)務(wù)、核心業(yè)務(wù)、共享業(yè)務(wù)。中心單元只有一個(gè),部署全局業(yè)務(wù)、核心業(yè)務(wù)、共享業(yè)務(wù)。普通單元部署核心業(yè)務(wù)、共享業(yè)務(wù),普通單元具備水平的擴(kuò)展能力,可以任意復(fù)制。l全局業(yè)務(wù):強(qiáng)一致性的業(yè)務(wù),在中心單元寫(xiě),在中心單元讀。l核心業(yè)務(wù):做單元化拆分的業(yè)務(wù),在普通單元寫(xiě),在普通單元讀。l共享業(yè)務(wù):被核心業(yè)務(wù)高頻依賴的全局業(yè)務(wù)讀服務(wù),在中心單元寫(xiě),在普通單元讀。圖2-2“異地應(yīng)用多活架構(gòu)”示意圖112.3混合云場(chǎng)景的應(yīng)用多活混合云融合了公有云、私有云、托管私有云、邊緣計(jì)算節(jié)點(diǎn)等不同部署模式,面向企業(yè)云上基礎(chǔ)架構(gòu)、中間件、開(kāi)發(fā)全生命周期和/或應(yīng)用平臺(tái)的各種能力需求,為云上開(kāi)發(fā)、構(gòu)建、運(yùn)維、運(yùn)營(yíng)、管控等各種技術(shù)與業(yè)務(wù)實(shí)踐提供支持。IDC報(bào)告中顯示2021年有14%的客戶會(huì)單獨(dú)選擇公共云,86%企業(yè)采用多云混合云架構(gòu)。混合云應(yīng)用多活,顧名思義就是分布在混合云環(huán)境的應(yīng)用均對(duì)外提供服務(wù)?;旌显茟?yīng)用多活架構(gòu)是在多云和異構(gòu)場(chǎng)景衍生的容災(zāi)架構(gòu)方案,將業(yè)務(wù)恢復(fù)和云基礎(chǔ)架構(gòu)、云服務(wù)解耦。混合云多活管理產(chǎn)品對(duì)開(kāi)發(fā)者和上層用戶屏蔽混合云容災(zāi)的復(fù)雜度,提供一致的開(kāi)發(fā)、運(yùn)維、運(yùn)營(yíng)體驗(yàn)。混合云應(yīng)用多活,最大的挑戰(zhàn)在于多云獨(dú)立和多云異構(gòu),做到多云集成和數(shù)據(jù)互通。多云集成,即集成多云的賬號(hào)、權(quán)限、資源、數(shù)據(jù),在此基礎(chǔ)上構(gòu)建統(tǒng)一的多云操作界面。數(shù)據(jù)互通,即多云的基礎(chǔ)架構(gòu)、異構(gòu)的中間件體系,需要做到互相發(fā)現(xiàn)、互相同步,在此基礎(chǔ)上實(shí)現(xiàn)數(shù)據(jù)的容災(zāi)。為了實(shí)現(xiàn)多云集成與數(shù)據(jù)互通,混合云多活管理需要有多云適配來(lái)屏蔽底層的差異,主要依靠三大核心功能:l云服務(wù)接口適配,對(duì)下通過(guò)插件化支持多云適配,對(duì)上提供統(tǒng)一的云服務(wù)接口。l數(shù)據(jù)模型適配,對(duì)云的賬號(hào)、權(quán)限、資源、數(shù)據(jù)進(jìn)行抽象,屏蔽多云的數(shù)據(jù)差異。l統(tǒng)一容災(zāi)接口,提供標(biāo)準(zhǔn)化的容災(zāi)定義和接口,利于異構(gòu)云異構(gòu)技術(shù)棧的快速接入。圖2-3“混合云應(yīng)用多活架構(gòu)”示意圖3.1應(yīng)用多活的課題研究3.1.1應(yīng)用多活解決的技術(shù)問(wèn)題多站點(diǎn)生產(chǎn)系統(tǒng)同時(shí)對(duì)外提供訪問(wèn),RPO≈0或RPO=0,應(yīng)用多活RTO<=應(yīng)用災(zāi)備RTO。3.1.2應(yīng)用多活領(lǐng)域的研究狀況最多只能同時(shí)實(shí)現(xiàn)兩點(diǎn),不可能三者兼顧。在容災(zāi)場(chǎng)景下,多數(shù)系統(tǒng)選擇AP或CP模式。典型架構(gòu)容災(zāi)模式衡量指標(biāo)同城雙活CP模式異地多活RPO≈0,RTO秒或分鐘級(jí)別異地多活CP模式表3-1容災(zāi)架構(gòu)的不同模式可用性代表系統(tǒng)在某個(gè)考察時(shí)間是可以正常運(yùn)行或提供服務(wù)。描述一個(gè)系統(tǒng)可用性的常用指標(biāo)有響應(yīng)時(shí)間和錯(cuò)誤率。不同系統(tǒng)的響應(yīng)時(shí)間有所不同,從用戶體感和客戶端訪問(wèn)視角都會(huì)有某個(gè)超時(shí)閾值。對(duì)于跨地域數(shù)據(jù)同步的情況,數(shù)據(jù)庫(kù)同步復(fù)制和異步復(fù)制的模式。數(shù)據(jù)庫(kù)同步復(fù)制會(huì)帶來(lái)一定的響應(yīng)時(shí)間上升。當(dāng)數(shù)據(jù)站點(diǎn)距離較遠(yuǎn)時(shí),響應(yīng)時(shí)間會(huì)超過(guò)閾值,請(qǐng)求成功率會(huì)大幅下降。1213基礎(chǔ)設(shè)施(IaaS)。在當(dāng)前的情況下,云廠商間的應(yīng)用編程接口(API)暫無(wú)統(tǒng)一標(biāo)準(zhǔn)。對(duì)于混合云多活架構(gòu),需要通用平臺(tái),為上層業(yè)務(wù)屏蔽運(yùn)維和管控的差異性。應(yīng)用多活領(lǐng)域的實(shí)現(xiàn)難點(diǎn)從可用性角度,所有業(yè)務(wù)請(qǐng)求均能夠在可接受的時(shí)間內(nèi)有所響應(yīng),并且請(qǐng)求質(zhì)量不隨著機(jī)房的物理距離和云平臺(tái)設(shè)施的不同而改變。因此就需要從入口流量開(kāi)始,每一層技術(shù)組件都能夠識(shí)別、糾錯(cuò)流量,減少不合理的跨機(jī)房、跨地域調(diào)用帶來(lái)的訪問(wèn)延遲。從一致性角度,所有業(yè)務(wù)數(shù)據(jù)都要在可接受(客戶有體感前)時(shí)間內(nèi)保持?jǐn)?shù)據(jù)正確性,即:短暫數(shù)據(jù)延遲及沒(méi)有數(shù)據(jù)錯(cuò)亂。因此就需要數(shù)據(jù)層具備單集群和跨集群同步的能力。對(duì)于跨集群異步同步的場(chǎng)景,極端場(chǎng)景下可能存在數(shù)據(jù)不一致的問(wèn)題,上層數(shù)據(jù)層組件要提供面向業(yè)務(wù)的容錯(cuò)方案。從容災(zāi)平臺(tái)角度,所有容災(zāi)操作都要有標(biāo)準(zhǔn)化操作流程和預(yù)期效果。容災(zāi)平臺(tái)需要有通用的服務(wù)接口、數(shù)據(jù)模型、容災(zāi)接口,幫助業(yè)務(wù)屏蔽底層云平臺(tái)異構(gòu)的問(wèn)題。3.2應(yīng)用多活的設(shè)計(jì)標(biāo)準(zhǔn)應(yīng)用多活定位是一套支持跨地域、跨平臺(tái)的通用多活架構(gòu)方案。應(yīng)用多活架構(gòu)的標(biāo)準(zhǔn)架構(gòu),需要滿足以下4個(gè)設(shè)計(jì)標(biāo)準(zhǔn):l業(yè)務(wù)流量多活(BFA,BusinessFlowActive應(yīng)用多活的最終呈現(xiàn)是業(yè)務(wù),多活容災(zāi)系統(tǒng)具備按照業(yè)務(wù)特征進(jìn)行生產(chǎn)流量的精細(xì)化調(diào)配。l同城多活(LRA,LocalRegionActive應(yīng)用是分布式系統(tǒng)的最小服務(wù)集合,當(dāng)主中心出現(xiàn)問(wèn)題進(jìn)入容災(zāi)態(tài)時(shí),要具備全局或局部應(yīng)用的多活切換能力。l異地多活(UDA,UltraDistanceActive):在超遠(yuǎn)距離(機(jī)房間距超過(guò)300公里)時(shí),業(yè)務(wù)系統(tǒng)仍具備較好的訪問(wèn)性能。進(jìn)入容災(zāi)態(tài)時(shí),RTO、RPO在分鐘級(jí)。14l混合云多活(HCA,HybridCloudActive向上對(duì)業(yè)務(wù)屏蔽容災(zāi)細(xì)節(jié),提供統(tǒng)一的多活編程范式。向下對(duì)云平臺(tái)技術(shù)保持兼容,支持公有云、私有云、托管私有云、邊緣計(jì)算節(jié)點(diǎn)等不同部署模式的多活場(chǎng)景。圖3-1應(yīng)用多活架構(gòu)設(shè)計(jì)標(biāo)準(zhǔn)3.3應(yīng)用多活的技術(shù)方案應(yīng)用多活的技術(shù)方案,我們一般分為三部分,分別為應(yīng)用層、數(shù)據(jù)層和云平臺(tái)。三部分組件遵循應(yīng)用多活的設(shè)計(jì)標(biāo)準(zhǔn),支撐應(yīng)用構(gòu)建應(yīng)用多活架構(gòu)能力。應(yīng)用層是業(yè)務(wù)應(yīng)用流量主經(jīng)的鏈路,基本構(gòu)成可分為三部分:l接入網(wǎng)關(guān):接入網(wǎng)關(guān)作為業(yè)務(wù)流量打入機(jī)房的第一跳,負(fù)責(zé)應(yīng)用多活入口流量的識(shí)別和分發(fā),具備機(jī)房路由和應(yīng)用路由兩個(gè)核心能力。l微服務(wù):業(yè)務(wù)流量在機(jī)房?jī)?nèi)部和跨機(jī)房的同步調(diào)用方式,一般有Consumer、Provider、注冊(cè)中心等角色,具備流量路由、流量保護(hù)、故障隔離三個(gè)核心能力。l消息:業(yè)務(wù)流量在機(jī)房?jī)?nèi)部和跨機(jī)房的異步調(diào)用方式,基于消息削峰填谷,一般有Producer、Consumer、Broker等角色。數(shù)據(jù)層涵蓋業(yè)務(wù)應(yīng)用數(shù)據(jù)讀寫(xiě)、數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)同步,其具備流量路由、數(shù)據(jù)一致性保護(hù)、數(shù)據(jù)同步三個(gè)核心能力。云平臺(tái)是支撐業(yè)務(wù)應(yīng)用運(yùn)行的核心基石,基本構(gòu)成覆蓋單云、單機(jī)房、多云、混合云等形態(tài)。15圖3-2應(yīng)用多活的整體技術(shù)方案依托于應(yīng)用層、數(shù)據(jù)層和云平臺(tái)三部分應(yīng)用多活的具體技術(shù)實(shí)現(xiàn),企業(yè)可快速支撐業(yè)務(wù)實(shí)現(xiàn)應(yīng)用多活容災(zāi)架構(gòu)。4.1應(yīng)用層技術(shù)原理4.1.1接入網(wǎng)關(guān)實(shí)現(xiàn)原理一次流量請(qǐng)求,從移動(dòng)端或PC端發(fā)起調(diào)用,到進(jìn)入業(yè)務(wù)應(yīng)用的整個(gè)流量鏈路過(guò)程中,我們期望盡早進(jìn)行路由糾錯(cuò),從而大大減少下游進(jìn)行路由糾錯(cuò)和不必要的跨機(jī)房調(diào)用的次數(shù)。DNS域名解析是最早的一個(gè)環(huán)節(jié),但DNS僅支持按權(quán)重隨機(jī)分流,無(wú)法滿足應(yīng)用多活架構(gòu)流量靈活路由的需求。HTTPDNS具備自定義路由規(guī)則的能力,但HTTPDNS也存在著不適用于PC端流量的局限性。綜上所述,應(yīng)用多活架構(gòu)需要在機(jī)房入口處部署一套流量接入網(wǎng)關(guān),來(lái)負(fù)責(zé)七層流量的靈活路由。接入網(wǎng)關(guān)核心能力可以概況為:l機(jī)房粒度流量路由:。。比例分流:支持根據(jù)一定的比例規(guī)則,將流量分流到不同機(jī)房。。路由糾錯(cuò):支持從流量請(qǐng)求中提取攜帶的業(yè)務(wù)標(biāo)識(shí),并根據(jù)一定的路由規(guī)則,將流量路由糾錯(cuò)到正確的機(jī)房。l應(yīng)用粒度流量路由:支持根據(jù)流量屬性按照一定映射規(guī)則,將流量路由到不同的后端應(yīng)用。接入網(wǎng)關(guān)在技術(shù)架構(gòu)設(shè)計(jì)時(shí),存在單集群和多集群兩種模式。單集群模式,接入網(wǎng)關(guān)集群對(duì)外提供一個(gè)統(tǒng)一接入點(diǎn)。流量進(jìn)入網(wǎng)關(guān)后集群后,按照一定的路由規(guī)則將業(yè)務(wù)流量調(diào)度到相應(yīng)機(jī)房?jī)?nèi)的應(yīng)用。當(dāng)某機(jī)房發(fā)生故障時(shí),可以通過(guò)修改接入網(wǎng)關(guān)的流量規(guī)則,從而將故障機(jī)房流量切換到其他正常機(jī)房,實(shí)現(xiàn)故障機(jī)房流量切0。1617圖4-1接入網(wǎng)關(guān)組件多活實(shí)現(xiàn)原理(單集群)多集群模式,每個(gè)接入網(wǎng)關(guān)集群對(duì)外提供一個(gè)統(tǒng)一接入點(diǎn),使用DNS按權(quán)重解析訪問(wèn)到不同的網(wǎng)關(guān)集群。多個(gè)網(wǎng)關(guān)集群均按照相同一致的的流量規(guī)則進(jìn)行路由糾錯(cuò)。當(dāng)某機(jī)房發(fā)生故障時(shí),通過(guò)修改所有網(wǎng)關(guān)集群的流量路由規(guī)則,將故障機(jī)房的流量切換到其他正常機(jī)房。若故障影響到了接入網(wǎng)關(guān)集群,則還需要調(diào)整DNS權(quán)重來(lái)將故障機(jī)房整體流量切0。圖4-2接入網(wǎng)關(guān)組件多活實(shí)現(xiàn)原理(多集群)4.1.2微服務(wù)組件實(shí)現(xiàn)原理應(yīng)用多活架構(gòu)中,微服務(wù)多活組件同樣需要具備流量路由糾錯(cuò)能力,來(lái)滿足多種微服務(wù)調(diào)用場(chǎng)景的路由需求:l可能存在流量不經(jīng)過(guò)接入網(wǎng)關(guān)的場(chǎng)景(例如定時(shí)任務(wù)調(diào)度發(fā)起的流量調(diào)用)。l可能存在需要使用不同業(yè)務(wù)標(biāo)識(shí)進(jìn)行路由糾錯(cuò)的場(chǎng)景(例如,用戶A向用戶B轉(zhuǎn)賬處理過(guò)程中的服務(wù)調(diào)用,需要分別使用2個(gè)用戶ID進(jìn)行路由)。18l可能存在需要使用不同數(shù)據(jù)維度的路由規(guī)則進(jìn)行計(jì)算和糾錯(cuò)的場(chǎng)景(例如,電商交易下單處理過(guò)程中的服務(wù)調(diào)用,需要使用用戶ID和商品ID來(lái)分別進(jìn)行路由)。微服務(wù)多活組件通常有SDK、Agent、Sidecar等不同實(shí)現(xiàn)形態(tài)。其核心能力可以概況為:l機(jī)房粒度流量路由:。。條件路由:支持根據(jù)服務(wù)屬性和參數(shù)等信息,按照一定條件進(jìn)行規(guī)則匹配和路由,使服務(wù)調(diào)用到相應(yīng)機(jī)房?jī)?nèi)的Provider節(jié)點(diǎn)。。優(yōu)先路由:支持Consumer優(yōu)先調(diào)用同機(jī)房?jī)?nèi)的Provider,從而減少跨機(jī)房調(diào)用,同時(shí)還能將故障的爆炸半徑控制在一個(gè)機(jī)房?jī)?nèi)。l流量保護(hù):Provider接收到服務(wù)請(qǐng)求時(shí),根據(jù)最新的路由規(guī)則進(jìn)行計(jì)算,若識(shí)別為錯(cuò)誤流量,則拒絕處理請(qǐng)求,保證全局流量路由的一致性。l故障隔離:當(dāng)局部Provider出現(xiàn)異常時(shí),支持將異常的Provider進(jìn)行故障隔離,保證所有機(jī)房?jī)?nèi)的Consumer均不會(huì)調(diào)用到異常的Provider,實(shí)現(xiàn)微服務(wù)流量的故障逃逸。微服務(wù)多活組件在技術(shù)架構(gòu)設(shè)計(jì)時(shí),存在單集群和多集群兩種模式。單集群模式,多個(gè)機(jī)房?jī)?nèi)的應(yīng)用共享同一個(gè)注冊(cè)中心集群,Provider對(duì)所有機(jī)房的Consumer可見(jiàn),微服務(wù)調(diào)用時(shí)按照一定的流量規(guī)則進(jìn)行路由糾錯(cuò),使Consumer調(diào)用到正確機(jī)房?jī)?nèi)的Provider。當(dāng)流量沒(méi)有命中路由規(guī)則時(shí),支持同機(jī)房?jī)?yōu)先調(diào)用,避免跨機(jī)房帶來(lái)的RT增長(zhǎng)。當(dāng)某機(jī)房發(fā)生故障或局部Provider出現(xiàn)故障時(shí),根據(jù)一定的異常識(shí)別策略可以自動(dòng)進(jìn)行故障隔離。當(dāng)機(jī)房?jī)?nèi)健康的Provider低于一定數(shù)量時(shí),則同機(jī)房?jī)?yōu)先調(diào)用策略失效,隨機(jī)調(diào)用到所有機(jī)房?jī)?nèi)的健康Provider節(jié)點(diǎn),避免繼續(xù)同機(jī)房調(diào)用流量壓垮下游Provider應(yīng)用。19圖4-3微服務(wù)組件多活實(shí)現(xiàn)原理(單集群)多集群模式,應(yīng)用固定訪問(wèn)本機(jī)房對(duì)應(yīng)的一個(gè)注冊(cè)中心集群。服務(wù)同步組件通過(guò)異步復(fù)制的方式,實(shí)時(shí)將所需的Provider服務(wù)同步到其他集群。基于跨注冊(cè)中心的服務(wù)發(fā)現(xiàn),微服務(wù)調(diào)用時(shí)就能按照一定的流量規(guī)則進(jìn)行路由糾錯(cuò),使Consumer調(diào)用到正確機(jī)房?jī)?nèi)的Provider。當(dāng)微服務(wù)調(diào)用沒(méi)有命中路由規(guī)則時(shí),可以同機(jī)房?jī)?yōu)先調(diào)用,避免跨機(jī)房調(diào)用帶來(lái)RT增長(zhǎng)。當(dāng)某機(jī)房發(fā)生故障時(shí),可以通過(guò)修改流量路由規(guī)則將故障機(jī)房微服務(wù)流量切0,使得所有機(jī)房?jī)?nèi)的Consumer不再調(diào)用故障機(jī)房的Provider。圖4-4微服務(wù)組件多活實(shí)現(xiàn)原理(多集群)204.1.3消息組件實(shí)現(xiàn)原理由于消息是異步消費(fèi)的,從消息被生產(chǎn)出來(lái)再到被消費(fèi)到的時(shí)間段中,流量路由規(guī)則可能發(fā)生了變化(例如進(jìn)行了切流)。如果消息有堆積的話,那么這個(gè)異步消費(fèi)的時(shí)間差還會(huì)更長(zhǎng),生產(chǎn)和消費(fèi)兩個(gè)時(shí)間點(diǎn)路由規(guī)則不一致的概率會(huì)更大。因此只在上游通過(guò)接入網(wǎng)關(guān)、微服務(wù)調(diào)用進(jìn)行流量路由是不夠的,還需要在消息消費(fèi)時(shí)按照最新的路由規(guī)則再次進(jìn)行路由糾錯(cuò)。消息多活組件通常有SDK、Agent、Sidecar、Proxy等不同實(shí)現(xiàn)形態(tài)。其核心能力可以概況為:l流量路由:消息消費(fèi)時(shí),需要根據(jù)最新的路由規(guī)則進(jìn)行消息路由,僅在正確的機(jī)房?jī)?nèi)進(jìn)行消費(fèi)。l流量保護(hù):Consumer接收到消息時(shí),根據(jù)最新的路由規(guī)則進(jìn)行計(jì)算,若識(shí)別為路由錯(cuò)誤的流量,則拒絕處理請(qǐng)求。l故障隔離:當(dāng)某機(jī)房發(fā)生故障時(shí)或局部Consumer出現(xiàn)異常時(shí),支持對(duì)異常的Consumer進(jìn)行故障隔離,保證異常的Consumer不再消費(fèi)消息,實(shí)現(xiàn)消息流量的故障逃逸從而快速恢復(fù)業(yè)務(wù)。消息多活組件在技術(shù)架構(gòu)設(shè)計(jì)時(shí),存在單集群和多集群兩種模式。單集群模式,多個(gè)機(jī)房?jī)?nèi)的應(yīng)用均共享同一個(gè)消息隊(duì)列集群,上游應(yīng)用生產(chǎn)的消息,隨機(jī)的被分配到下游Consumer應(yīng)用進(jìn)行異步消費(fèi)。當(dāng)某機(jī)房發(fā)生故障時(shí),可以對(duì)故障機(jī)房?jī)?nèi)的Consumer進(jìn)行故障隔離,避免故障機(jī)房?jī)?nèi)的Consumer繼續(xù)消費(fèi)消息。再配合上接入網(wǎng)關(guān)和微服務(wù)的流量切換能力,即可實(shí)現(xiàn)故障機(jī)房整體流量的切0,實(shí)現(xiàn)分鐘級(jí)容災(zāi)切換。圖4-5消息組件多活實(shí)現(xiàn)原理(單集群)21多集群模式,應(yīng)用固定訪問(wèn)本機(jī)房對(duì)應(yīng)的一個(gè)消息隊(duì)列集群,多個(gè)集群之間通過(guò)消息同步組件實(shí)現(xiàn)消息數(shù)據(jù)的同步。一個(gè)機(jī)房?jī)?nèi)應(yīng)用生產(chǎn)的消息,會(huì)異步同步到其他所有機(jī)房,但消息消費(fèi)時(shí)會(huì)進(jìn)行路由糾錯(cuò),僅允許正確的機(jī)房進(jìn)行消費(fèi),其他機(jī)房則識(shí)別為錯(cuò)誤流量不消費(fèi)。當(dāng)某機(jī)房發(fā)生故障時(shí),可以通過(guò)修改路由規(guī)則,將故障機(jī)房的流量切換到其他機(jī)房,從而讓其他機(jī)房?jī)?nèi)的Consumer能夠在消費(fèi)路由計(jì)算時(shí),識(shí)別為正確流量從而進(jìn)行消費(fèi)。另外多個(gè)消息隊(duì)列集群的消息消費(fèi)速率,堆積情況是不一樣的,為了避免故障機(jī)房堆積未消費(fèi)的消息已經(jīng)被其他機(jī)房丟棄,因此修改路由規(guī)則生效后,還需要對(duì)流量切換的目的機(jī)房進(jìn)行消費(fèi)位點(diǎn)回溯。圖4-6消息組件多活實(shí)現(xiàn)原理(多集群)4.2數(shù)據(jù)層技術(shù)原理數(shù)據(jù)層多活組件在技術(shù)架構(gòu)設(shè)計(jì)時(shí),存在單集群和多集群兩種模式。同城近距離的場(chǎng)景,由于機(jī)房間網(wǎng)絡(luò)延遲小可以選擇數(shù)據(jù)庫(kù)單集群的模式進(jìn)行強(qiáng)一致的數(shù)據(jù)讀寫(xiě)。而遠(yuǎn)距離場(chǎng)景以及混合云場(chǎng)景,通常需要采用數(shù)據(jù)庫(kù)多集群的模式,數(shù)據(jù)按一定業(yè)務(wù)維度進(jìn)行分片(分片的規(guī)則就是流量路由規(guī)則一個(gè)業(yè)務(wù)請(qǐng)求經(jīng)過(guò)上游層層路由糾錯(cuò)后,最終保證只在正確的機(jī)房強(qiáng)一致的讀寫(xiě)對(duì)應(yīng)分片范圍內(nèi)的數(shù)據(jù)。數(shù)據(jù)層多活核心需要解決的是數(shù)據(jù)一致性的問(wèn)題,需要針對(duì)可能出現(xiàn)數(shù)據(jù)不一致的問(wèn)題場(chǎng)景進(jìn)行數(shù)據(jù)一致性保護(hù):l一個(gè)真實(shí)復(fù)雜的業(yè)務(wù)系統(tǒng)當(dāng)中,即使有上游鏈路的路由糾錯(cuò),仍然有可能出現(xiàn)流量路由不一致的情況,例如調(diào)用鏈路路由標(biāo)丟失導(dǎo)致路由失效、路由規(guī)則推送部分應(yīng)用節(jié)點(diǎn)失敗等。l切流時(shí),變更的路由規(guī)則推送給接入網(wǎng)關(guān)集群、應(yīng)用節(jié)點(diǎn)過(guò)程中,短時(shí)間內(nèi)會(huì)存在不同機(jī)器上路由規(guī)則不一致的情況。22l切流時(shí),如果數(shù)據(jù)異步同步存在延遲,則切流目的機(jī)房?jī)?nèi)的應(yīng)用可能讀寫(xiě)到舊數(shù)據(jù),以及寫(xiě)后被同步數(shù)據(jù)覆蓋的問(wèn)題。數(shù)據(jù)層是讀寫(xiě)數(shù)據(jù)庫(kù)前的最后一道關(guān)卡,相比采用異步或定時(shí)數(shù)據(jù)對(duì)賬來(lái)事后發(fā)現(xiàn)數(shù)據(jù)不一致問(wèn)題的方式,在數(shù)據(jù)寫(xiě)入前通過(guò)路由正確性校驗(yàn)和錯(cuò)誤流量禁寫(xiě)等保護(hù)措施,能夠提早杜絕數(shù)據(jù)不一致的發(fā)生,從而避免此類問(wèn)題的進(jìn)一步擴(kuò)大和蔓延。數(shù)據(jù)層多活組件通常有SDK、Agent、Proxy等不同實(shí)現(xiàn)形態(tài)。其核心能力可以概況為:l數(shù)據(jù)一致性保護(hù):。。日常態(tài)禁寫(xiě)保護(hù):支持寫(xiě)數(shù)據(jù)時(shí)需根據(jù)最新的路由規(guī)則進(jìn)行計(jì)算,若是錯(cuò)誤流量則禁止寫(xiě)入,避免正確路由流量和錯(cuò)誤流量分別在多個(gè)機(jī)房讀寫(xiě)數(shù)據(jù),造成臟寫(xiě)。。切流態(tài)禁寫(xiě)保護(hù):路由規(guī)則變更期間禁寫(xiě)保護(hù):切流時(shí),支持在流量路由規(guī)則變更和推送到接入網(wǎng)關(guān)和應(yīng)用節(jié)點(diǎn)期間,禁止所有機(jī)房?jī)?nèi)的寫(xiě)數(shù)據(jù)庫(kù)操作,保證切流期間數(shù)據(jù)不臟寫(xiě)。數(shù)據(jù)同步延遲期間禁更新保護(hù):切流時(shí),支持在數(shù)據(jù)同步延遲期間,對(duì)切流目的機(jī)房?jī)?nèi)的應(yīng)用采取禁更新策略,禁止數(shù)據(jù)更新操作的執(zhí)行(可以針對(duì)受切流影響的數(shù)據(jù)范圍進(jìn)行控制避免出現(xiàn)臟寫(xiě)以及寫(xiě)后又被同步數(shù)據(jù)覆蓋的問(wèn)題。l數(shù)據(jù)同步:支持將數(shù)據(jù)異步復(fù)制到其他機(jī)房,以便實(shí)現(xiàn)數(shù)據(jù)的冗余備份,保障故障場(chǎng)景數(shù)據(jù)不丟失和極端場(chǎng)景數(shù)據(jù)少丟失,從而滿足RPO<1分鐘的要求。l數(shù)據(jù)源切換:在同城場(chǎng)景,多機(jī)房?jī)?nèi)的應(yīng)用均讀寫(xiě)單數(shù)據(jù)庫(kù)集群的情況下,支持單集群發(fā)生故障時(shí)能夠?qū)?yīng)用訪問(wèn)連接的數(shù)據(jù)源切換到另一個(gè)備數(shù)據(jù)庫(kù)集群。單集群模式,多個(gè)機(jī)房?jī)?nèi)的應(yīng)用均讀寫(xiě)單集群數(shù)據(jù)庫(kù),這樣能夠保證數(shù)據(jù)的強(qiáng)一致。但業(yè)務(wù)也需要承擔(dān)跨機(jī)房訪問(wèn)網(wǎng)絡(luò)延遲帶來(lái)的RT升高問(wèn)題。當(dāng)某機(jī)房發(fā)生故障時(shí),僅需將故障機(jī)房的上游流量切零即可。分布式數(shù)據(jù)庫(kù),就是典型的單集群模式。23圖4-7數(shù)據(jù)組件多活實(shí)現(xiàn)原理(單集群)多集群模式,應(yīng)用固定訪問(wèn)本機(jī)房對(duì)應(yīng)的一個(gè)數(shù)據(jù)庫(kù)集群,多個(gè)集群之間采用異步的方式同步數(shù)據(jù),進(jìn)行跨集群的數(shù)據(jù)冗余備份。對(duì)于一次業(yè)務(wù)請(qǐng)求,流量經(jīng)過(guò)上游路由糾錯(cuò)后,僅允許在正確的機(jī)房寫(xiě)數(shù)據(jù)庫(kù),錯(cuò)誤流量禁寫(xiě)。當(dāng)某機(jī)房發(fā)生故障時(shí),僅需將故障機(jī)房的上游流量切零即可,切流過(guò)程中,需要具備路由規(guī)則變更期間禁寫(xiě)保護(hù)和數(shù)據(jù)同步延遲期間禁寫(xiě)保護(hù)能力,避免切流造成的臟寫(xiě)問(wèn)題。由于多集群間采用異步復(fù)制數(shù)據(jù)的方式,業(yè)務(wù)需要接受極端場(chǎng)景下帶來(lái)的部分?jǐn)?shù)據(jù)丟失。圖4-8數(shù)據(jù)組件多活實(shí)現(xiàn)原理(多集群)4.3云平臺(tái)技術(shù)原理在單云的環(huán)境下,用戶從一個(gè)云界面就可以看到所有的資源和數(shù)據(jù),從單云擴(kuò)展到多云、混合云,多云的賬號(hào)、權(quán)限、資源、數(shù)據(jù)互相獨(dú)立不可見(jiàn),使得橫跨多個(gè)云環(huán)境追蹤資源變得極其困難。進(jìn)一步在資源、數(shù)據(jù)可見(jiàn)的基礎(chǔ)上還需要數(shù)據(jù)同步,而單云本身更不會(huì)提供對(duì)未知云的數(shù)據(jù)同步能力,因此還需要在云的更上層建立跨云數(shù)據(jù)、甚至是異構(gòu)數(shù)據(jù)的同步。24混合云場(chǎng)景帶來(lái)的核心問(wèn)題是多云獨(dú)立和多云異構(gòu),為了實(shí)現(xiàn)混合云應(yīng)用多活,必須尋求一個(gè)共同的標(biāo)準(zhǔn)來(lái)提供統(tǒng)一的用云界面,做到多云集成和數(shù)據(jù)互通?;旌显贫嗷罟芾砥脚_(tái)需要具備以下幾個(gè)模塊。l云服務(wù)接口適配:該模塊的目標(biāo)是屏蔽云基礎(chǔ)設(shè)施PaaS層的接口差異。通過(guò)對(duì)云服務(wù)的接口進(jìn)行抽象,以插件化的形式擴(kuò)展對(duì)異構(gòu)云的支撐,向上提供統(tǒng)一的云服務(wù)接口。l數(shù)據(jù)模型適配:該模塊的目標(biāo)是屏蔽云基礎(chǔ)設(shè)施PaaS層的數(shù)據(jù)差異。通過(guò)將異構(gòu)云的賬號(hào)、權(quán)限、資源映射到統(tǒng)一的數(shù)據(jù)模型,從而將多云的資源融合到一起,一站式管控多云。l跨云數(shù)據(jù)互通:多活場(chǎng)景下的路由一致性要求跨云的服務(wù)發(fā)現(xiàn)和路由,數(shù)據(jù)一致性要求跨云的數(shù)據(jù)冗余?;旌显迫轂?zāi)管控要做到數(shù)據(jù)互通,因此同步組件需要實(shí)現(xiàn)跨云服務(wù)發(fā)現(xiàn)、跨云消息同步、跨云數(shù)據(jù)同步,甚至是異構(gòu)數(shù)據(jù)的同步。l統(tǒng)一容災(zāi)接口:容災(zāi)接口定義了應(yīng)用多活的容災(zāi)切面。包括容災(zāi)架構(gòu)的定義、路由規(guī)則、服務(wù)路由切面、消息消費(fèi)切面、數(shù)據(jù)讀寫(xiě)切面,在此基礎(chǔ)上多云的應(yīng)用層、數(shù)據(jù)層技術(shù)??梢赃M(jìn)行快速接入。l多活管控界面:混合云容災(zāi)管控提供多云統(tǒng)一的容災(zāi)界面,管理員可以一站式進(jìn)行應(yīng)用多活的定義、配置、演練、切換,實(shí)現(xiàn)在一個(gè)平臺(tái)上管控多云的應(yīng)用容災(zāi)。圖4-9混合云多云管控實(shí)現(xiàn)原理5.1應(yīng)用多活的投入產(chǎn)出比企業(yè)衡量是否進(jìn)行應(yīng)用多活的建設(shè),一般從收益和成本兩方面綜合考慮。5.1.1應(yīng)用多活的收益應(yīng)用多活的收益分為三部分:高可用容災(zāi)、容量拓展、創(chuàng)新實(shí)驗(yàn)田在企業(yè)生產(chǎn)實(shí)踐中,不免會(huì)發(fā)生大大小小的故障,影響系統(tǒng)的穩(wěn)定性。有些故障在發(fā)生后快速恢復(fù),外部用戶無(wú)感,有些故障長(zhǎng)時(shí)間無(wú)法恢復(fù),造成外部輿情、資金損失等問(wèn)題,甚至可能導(dǎo)致公司破產(chǎn),故障一般有如下幾類:l人為操作失誤:常見(jiàn)的有配置錯(cuò)誤、應(yīng)用發(fā)布失敗等等。l硬件故障:常見(jiàn)的就是網(wǎng)絡(luò)設(shè)備出故障,導(dǎo)致機(jī)房或者集群內(nèi)多臺(tái)服務(wù)器受影響。l網(wǎng)絡(luò)攻擊:DDoS等網(wǎng)絡(luò)攻擊l斷網(wǎng)/斷電:支付寶光纜被挖斷l(xiāng)自然災(zāi)害:青云雷擊導(dǎo)致機(jī)房電力故障2526圖5-1應(yīng)用多活應(yīng)對(duì)的災(zāi)難場(chǎng)景在應(yīng)用多活架構(gòu)下,本著“業(yè)務(wù)恢復(fù)時(shí)間”和“故障恢復(fù)時(shí)間”解耦的原則,在發(fā)生故障時(shí),基于分鐘級(jí)切流能力,優(yōu)先恢復(fù)業(yè)務(wù)。在業(yè)務(wù)恢復(fù)的前提下,進(jìn)行故障定位修復(fù)。應(yīng)用多活覆蓋的故障場(chǎng)景:l公網(wǎng)網(wǎng)絡(luò)故障。l接入網(wǎng)關(guān)故障。l業(yè)務(wù)應(yīng)用故障。l數(shù)據(jù)庫(kù)等中間件故障。27l兩個(gè)機(jī)房間網(wǎng)絡(luò)故障。l整個(gè)機(jī)房大面積故障。對(duì)上述六類故障場(chǎng)景進(jìn)行業(yè)務(wù)影響面和應(yīng)用多活操作上的對(duì)比分析,對(duì)比結(jié)果如下表所示:故障場(chǎng)景業(yè)務(wù)影響面應(yīng)用多活操作1.公網(wǎng)網(wǎng)絡(luò)故障流量大面積下跌,外部用戶體驗(yàn)有損,監(jiān)控發(fā)現(xiàn)一個(gè)機(jī)房業(yè)務(wù)流量較往日下跌。應(yīng)用多活系統(tǒng)一鍵切流,將故障機(jī)房流量切到正常機(jī)房。2.接入網(wǎng)關(guān)故障流量大面積下跌,外部用戶體驗(yàn)有損,監(jiān)控發(fā)現(xiàn)一個(gè)機(jī)房業(yè)務(wù)流量較往日下跌,故障機(jī)房接入網(wǎng)關(guān)報(bào)警。3.業(yè)務(wù)應(yīng)用故障入口流量水位正常,成功率大規(guī)模下降,另一機(jī)房成功率正常4.數(shù)據(jù)庫(kù)等中間件故障入口流量水位正常,成功率大規(guī)模下降,另一機(jī)房成功率正常5.機(jī)房間網(wǎng)絡(luò)故障若業(yè)務(wù)應(yīng)用單元封閉,則無(wú)業(yè)務(wù)影響,僅數(shù)據(jù)同步延遲;若存在跨單元請(qǐng)求,全局業(yè)務(wù)下跌6.機(jī)房大面積故障流量大面積下跌,外部用戶體驗(yàn)有損,監(jiān)控發(fā)現(xiàn)一個(gè)機(jī)房業(yè)務(wù)流量跌0,故障機(jī)房接入網(wǎng)關(guān)無(wú)信息。表5-1故障影響面及操作從"發(fā)現(xiàn)問(wèn)題-定位問(wèn)題-修復(fù)問(wèn)題-業(yè)務(wù)恢復(fù)"的4個(gè)故障處理步驟升級(jí)成"發(fā)現(xiàn)問(wèn)題-切流-業(yè)務(wù)恢復(fù)"的3個(gè)故障處理步驟,時(shí)間從“數(shù)十分鐘甚至數(shù)小時(shí)不等”縮短到“分鐘級(jí)甚至秒級(jí)”,極大的提高了業(yè)務(wù)容災(zāi)能力。企業(yè)在起步階段一般選擇單地域部署,但隨著業(yè)務(wù)的規(guī)模發(fā)展,單地域機(jī)房將無(wú)法滿足業(yè)務(wù)需要。與此同時(shí),單地域的集群化組件隨著連接數(shù)的爆炸性增長(zhǎng),單集群的容量已無(wú)法繼續(xù)擴(kuò)展,亟須進(jìn)行集群的拆分。28應(yīng)用多活架構(gòu),在路由一致性和數(shù)據(jù)一致性的基礎(chǔ)上,支持跨地域的集群拆分和靈活流量調(diào)度,從而讓業(yè)務(wù)能夠突破地域限制,做到跨地域的容量水平擴(kuò)展,從而解決單地域下的容量挑戰(zhàn):l機(jī)器容量:多個(gè)異地機(jī)房對(duì)等部署,企業(yè)應(yīng)用可在多地多機(jī)房靈活部署業(yè)務(wù)應(yīng)用。l連接容量:機(jī)房?jī)?nèi)集群化組件獨(dú)立,各自機(jī)房連接自有組件,避免連接數(shù)無(wú)限增長(zhǎng)的問(wèn)題。應(yīng)用多活突破地域限制,在理論情況下具備無(wú)限拓展的能力,支撐無(wú)限的業(yè)務(wù)規(guī)模。企業(yè)的業(yè)務(wù)在飛速發(fā)展,代碼、配置每天都在變更發(fā)布,數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)等基礎(chǔ)設(shè)施存在演進(jìn)升級(jí)的可能性。若從熵增的角度出發(fā),企業(yè)業(yè)務(wù)的發(fā)展本質(zhì)上是一個(gè)自發(fā)由有序向無(wú)序發(fā)展的過(guò)程,系統(tǒng)的穩(wěn)定性也隨著無(wú)序程度的提升變得愈發(fā)脆弱。應(yīng)用多活架構(gòu)在保障業(yè)務(wù)系統(tǒng)高可用的同時(shí),逐步發(fā)展成企業(yè)的基礎(chǔ)設(shè)施,依托于應(yīng)用多活架構(gòu)能力,企業(yè)可以擴(kuò)展出多種穩(wěn)定性能力:l全域變更強(qiáng)管控:所有核心控制平臺(tái)均需要有灰度能力,依托于應(yīng)用多活的隔離能力,業(yè)務(wù)應(yīng)用代碼的發(fā)布、配置的變更、數(shù)據(jù)庫(kù)或網(wǎng)絡(luò)等基礎(chǔ)設(shè)施演進(jìn)均可在某個(gè)指定單元中進(jìn)行。觀察業(yè)務(wù)無(wú)問(wèn)題后,再進(jìn)行其他單元變更,控制爆炸半徑。l全域故障演練:以往故障演練在生產(chǎn)環(huán)境的實(shí)施,多數(shù)企業(yè)擔(dān)心故障的爆炸半徑過(guò)大影響全局流量下跌又無(wú)法恢復(fù)。在以應(yīng)用多活為基礎(chǔ)的企業(yè),可指定一個(gè)單元進(jìn)行故障演練,控制爆炸半徑,實(shí)時(shí)檢驗(yàn)生產(chǎn)系統(tǒng)的高可用能力,提高系統(tǒng)穩(wěn)定性。l重點(diǎn)流量保障:許多企業(yè)都存在某些非常重要的流量場(chǎng)景,例如一次重要會(huì)議舉辦、一次核心展覽、一個(gè)重點(diǎn)工程等,基于應(yīng)用多活架構(gòu)能力,企業(yè)可指定重點(diǎn)流量到保障單元,優(yōu)先保障此類流量的體驗(yàn),若存在問(wèn)題,再由其他單元進(jìn)行兜底。5.1.2應(yīng)用多活的成本管理應(yīng)用多活的成本圍繞在基礎(chǔ)設(shè)施、應(yīng)用改造、運(yùn)維三大部分內(nèi)容。網(wǎng)絡(luò)連通性是應(yīng)用多活建設(shè)的必要條件。企業(yè)基于應(yīng)用多活架構(gòu)進(jìn)行容災(zāi)建設(shè)時(shí),流量路由&保護(hù),數(shù)據(jù)冗余等核心能力均存在多個(gè)機(jī)房間網(wǎng)絡(luò)連通性的訴求,以支持請(qǐng)求轉(zhuǎn)發(fā)和數(shù)據(jù)同步等多活能力。29l應(yīng)用梳理:不建議企業(yè)一次性將所有的應(yīng)用接入應(yīng)用多活架構(gòu)中。出于穩(wěn)定性和可持續(xù)性考慮,建議以一個(gè)最小業(yè)務(wù)鏈路自閉環(huán)進(jìn)行梳理。若涉及異地多活能力,企業(yè)需要討論確定一個(gè)分流標(biāo)識(shí),進(jìn)行指定流量的精準(zhǔn)引流和數(shù)據(jù)保護(hù)。l應(yīng)用資源:應(yīng)用多活,需要在多個(gè)站點(diǎn)冗余對(duì)等部署應(yīng)用節(jié)點(diǎn)。此外,接入網(wǎng)關(guān)、數(shù)據(jù)庫(kù)等資源在異地多活場(chǎng)景下需要每個(gè)機(jī)房冗余部署。l應(yīng)用改造:。。域名流量帶分流標(biāo)識(shí),請(qǐng)求轉(zhuǎn)發(fā)到網(wǎng)關(guān)而后向下流轉(zhuǎn)。。應(yīng)用多活的應(yīng)用層核心數(shù)據(jù)面能力承載在應(yīng)用層組件上,它有sdk/agent兩個(gè)表現(xiàn)形態(tài),企業(yè)應(yīng)用引入組件,即可具備應(yīng)用多活能力。。若存在多個(gè)數(shù)據(jù)庫(kù)多寫(xiě)場(chǎng)景,企業(yè)需要定義數(shù)據(jù)庫(kù)全局唯一標(biāo)識(shí),避免數(shù)據(jù)沖突。l資源管理:企業(yè)應(yīng)用接入應(yīng)用多活架構(gòu)后,可在運(yùn)維平臺(tái)進(jìn)行應(yīng)用多活組件的資源管理和統(tǒng)一納管配置,例如:接入網(wǎng)關(guān)資源、微服務(wù)資源、消息資源、域名資源和數(shù)據(jù)庫(kù)資源等。l容災(zāi)切換:在日常流量調(diào)整、災(zāi)難流量切換等場(chǎng)景下,在運(yùn)維平臺(tái)手動(dòng)進(jìn)行切流工單創(chuàng)建,切流任務(wù)執(zhí)行是自動(dòng)化一鍵執(zhí)行,在工單創(chuàng)建后即無(wú)需人為介入。5.1.3投入產(chǎn)出比分析應(yīng)用多活和企業(yè)業(yè)務(wù)機(jī)構(gòu)存在強(qiáng)相關(guān)性,并不是一個(gè)開(kāi)箱即用或低成本無(wú)改造的輕量化組件,不同企業(yè)需要根據(jù)其機(jī)房部署形態(tài),選擇最合適的應(yīng)用多活架構(gòu)進(jìn)行高可用建設(shè)。以資訊、導(dǎo)購(gòu)類等讀場(chǎng)景為主的業(yè)務(wù)系統(tǒng),例如商品瀏覽、新聞咨詢、信息查詢等。此類核心業(yè)務(wù)場(chǎng)景只讀,出于投入產(chǎn)出比考慮:l低成本投入:。。架構(gòu)選型:近距離的1朵云多個(gè)機(jī)房的同城多活、近距離的2朵云多個(gè)機(jī)房的混合云應(yīng)用多活。優(yōu)勢(shì):具備應(yīng)用多活的容災(zāi)、創(chuàng)新2個(gè)核心價(jià)值。劣勢(shì):無(wú)法預(yù)防近距離的大規(guī)模故障,無(wú)突破地域限制的容量能力30l高成本投入:。。架構(gòu)選型:圍繞只讀業(yè)務(wù)建設(shè)異地應(yīng)用多活(單元化)。優(yōu)勢(shì):具備應(yīng)用多活的容災(zāi)、容量、創(chuàng)新3個(gè)核心價(jià)值,具備遠(yuǎn)距離容災(zāi)能力。以電商交易、賬單流水等單據(jù)讀寫(xiě)場(chǎng)景為主的業(yè)務(wù)系統(tǒng),例如用戶購(gòu)物、訂單創(chuàng)建變更等。此類核心業(yè)務(wù)場(chǎng)景讀寫(xiě)均有,數(shù)據(jù)可以按照一定的維度進(jìn)行分片且可以接受最終一致,出于投入產(chǎn)出比考慮:l低成本投入:。。架構(gòu)選型:近距離的1朵云多個(gè)機(jī)房的同城多活、近距離的2朵云多個(gè)機(jī)房的混合云應(yīng)用多活。優(yōu)勢(shì):具備應(yīng)用多活的容災(zāi)、創(chuàng)新2個(gè)核心價(jià)值。劣勢(shì):無(wú)法預(yù)防近距離的大規(guī)模故障,無(wú)突破地域限制的容量能力l高成本投入:。。架構(gòu)選型:讀寫(xiě)業(yè)務(wù)的異地應(yīng)用多活(單元化)。優(yōu)勢(shì):具備應(yīng)用多活的容災(zāi)、容量、創(chuàng)新3個(gè)核心價(jià)值,具備遠(yuǎn)距離容災(zāi)能力。以銀行賬務(wù)、電商庫(kù)存等數(shù)據(jù)依賴場(chǎng)景為主的業(yè)務(wù)系統(tǒng),例如銀行轉(zhuǎn)賬、庫(kù)存扣減等,此類核心業(yè)務(wù)場(chǎng)景涉及讀寫(xiě),數(shù)據(jù)有狀態(tài)依賴且無(wú)法最終一致,數(shù)據(jù)還存在跨數(shù)據(jù)中心的交互,出于投入產(chǎn)出比考慮:l低成本投入:。。架構(gòu)選型:近距離的1朵云多個(gè)機(jī)房的同城多活、近距離的2朵云多個(gè)機(jī)房的混合云應(yīng)用多活。優(yōu)勢(shì):具備應(yīng)用多活的容災(zāi)、創(chuàng)新2個(gè)核心價(jià)值。劣勢(shì):無(wú)法預(yù)防近距離的大規(guī)模故障,無(wú)突破地域限制的容量能力l高成本投入:。。架構(gòu)選型:遠(yuǎn)距離的2朵云多個(gè)機(jī)房的混合云應(yīng)用多活。優(yōu)勢(shì):具備應(yīng)用多活的容災(zāi)、創(chuàng)新2個(gè)核心價(jià)值,具備遠(yuǎn)距離容災(zāi)能力。。風(fēng)險(xiǎn):遠(yuǎn)距離業(yè)務(wù)跨機(jī)房的時(shí)延問(wèn)題31表格中的*表示任意值,機(jī)房距離在100Km到300Km間的情況,可以結(jié)合實(shí)際情況進(jìn)行取舍。距離云數(shù)量企業(yè)計(jì)劃投入成本應(yīng)用多活架構(gòu)備注≤100Km1低同城應(yīng)用多活收益:容災(zāi)、創(chuàng)新≥2低混合云應(yīng)用多活(同城模式)收益:容災(zāi)、創(chuàng)新高混合云應(yīng)用多活(異地模式)收益:容災(zāi)、創(chuàng)新、容量1高異地應(yīng)用多活收益:容災(zāi)、創(chuàng)新、容量≥2高混合云應(yīng)用多活(異地模式)收益:容災(zāi)、創(chuàng)新、容量表5-2業(yè)務(wù)應(yīng)用多活架構(gòu)對(duì)照表5.2應(yīng)用多活的能力保鮮應(yīng)用多活旨在給出一套幫助業(yè)務(wù)應(yīng)對(duì)未來(lái)潛在災(zāi)難場(chǎng)景下的解決方案。但業(yè)務(wù)會(huì)持續(xù)發(fā)展,架構(gòu)也會(huì)不斷演進(jìn),容災(zāi)治理始終解決的是發(fā)展中問(wèn)題。因此容災(zāi)治理不僅要持續(xù)建設(shè)更高階的容災(zāi)架構(gòu)技術(shù),還需要增強(qiáng)“基礎(chǔ)設(shè)施”、“業(yè)務(wù)系統(tǒng)”、“保障工具”、“生產(chǎn)制度”和“應(yīng)急人員”之間的協(xié)同。唯有時(shí)刻追求能力保鮮,才能立足于日新月異的復(fù)雜環(huán)境。容災(zāi)演練的四個(gè)發(fā)展階段容災(zāi)演練作為一種管理型技術(shù)手段,可以幫助業(yè)務(wù)度量容災(zāi)能力,暴露潛在風(fēng)險(xiǎn)短板。演練按照演練目的可以分為三個(gè)類型,即:沙盤(pán)推演、模擬演練及實(shí)際業(yè)務(wù)接管演練。業(yè)務(wù)接管演練還會(huì)配合一些生產(chǎn)故障演練,雖然會(huì)對(duì)線上引入一定影響,但是演練效果往往更加真實(shí)。容災(zāi)演練一般會(huì)經(jīng)歷下面四個(gè)階段的演進(jìn):圍繞“基礎(chǔ)設(shè)施”和“業(yè)務(wù)系統(tǒng)”提前梳理出影響可用率的風(fēng)險(xiǎn)因子,確定風(fēng)險(xiǎn)因子具體影響大小、是否可自愈、是否為跌零因子,此階段需要通過(guò)生產(chǎn)小規(guī)模的生產(chǎn)實(shí)驗(yàn)來(lái)探索和驗(yàn)證。32通過(guò)階段一的驗(yàn)證,已經(jīng)可以初步得出有效的跌零因子,同時(shí)也暴露出一些問(wèn)題和風(fēng)險(xiǎn)。接下來(lái)需要繼續(xù)堅(jiān)持把已知的風(fēng)險(xiǎn)進(jìn)行收斂,并常態(tài)保鮮演練。本階段通常以演練成功率作為驅(qū)動(dòng)指標(biāo)。經(jīng)過(guò)階段二,“基礎(chǔ)設(shè)施”和“業(yè)務(wù)系統(tǒng)”已經(jīng)初步具備確定性。這時(shí)候需要開(kāi)始關(guān)注“保障工具”、“生產(chǎn)制度”、“應(yīng)急人員”這三個(gè)動(dòng)態(tài)因素對(duì)整體結(jié)果帶來(lái)的影響。這一階段可以采用類似攻防對(duì)抗、突襲的方式來(lái)驅(qū)動(dòng),逐漸建立度量體系,完成度量指標(biāo)的梳理和數(shù)據(jù)化沉淀。通過(guò)階段三的積累,已經(jīng)掌握了一定的結(jié)構(gòu)化的數(shù)據(jù),此時(shí)可以借助智能化的方案,挖掘出一些隱藏的、潛在的弱點(diǎn)和風(fēng)險(xiǎn)。圖5-2應(yīng)用多活能力保鮮的建設(shè)策略33容災(zāi)演練的平臺(tái)建設(shè)一個(gè)標(biāo)準(zhǔn)的容災(zāi)演練平臺(tái)需要具備演練預(yù)檢、故障注入、容災(zāi)恢復(fù)和演練復(fù)盤(pán)四項(xiàng)基本能力。l演練預(yù)檢:可以提前發(fā)現(xiàn)容災(zāi)的風(fēng)險(xiǎn)、確定影響面,提升容災(zāi)演練的成功率。l故障注入:傳統(tǒng)的業(yè)務(wù)接管演練,只是讓容災(zāi)機(jī)房交替運(yùn)行一段時(shí)間。增加故障注入環(huán)境后,比模擬演練,可以看到更真實(shí)的業(yè)務(wù)效果。l多活恢復(fù):在容災(zāi)演練中,預(yù)期業(yè)務(wù)可以通過(guò)容災(zāi)平臺(tái)進(jìn)行一鍵式流量恢復(fù),為業(yè)務(wù)結(jié)果兜底。l演練復(fù)盤(pán):容災(zāi)演練的結(jié)果數(shù)字化,指導(dǎo)后續(xù)問(wèn)題改進(jìn)和架構(gòu)優(yōu)化。圖5-3容災(zāi)演練的功能架構(gòu)6.1同城應(yīng)用多活行業(yè)案例背景和挑戰(zhàn)菜鳥(niǎo)鄉(xiāng)村作為服務(wù)農(nóng)村的新型物流業(yè)務(wù),近一年來(lái)業(yè)務(wù)規(guī)模成十倍增長(zhǎng)。而業(yè)務(wù)系統(tǒng)僅在云上單可用區(qū)部署,存在缺少容災(zāi)能力的風(fēng)險(xiǎn)。因此業(yè)務(wù)決心進(jìn)行同城容災(zāi)能力建設(shè)。解決方案菜鳥(niǎo)鄉(xiāng)村與阿里云一起針對(duì)所面臨問(wèn)題以及未來(lái)業(yè)務(wù)規(guī)劃進(jìn)行了深度溝通與研討。結(jié)合業(yè)務(wù)容災(zāi)的訴求以及業(yè)務(wù)技術(shù)棧,阿里云制定出了同城應(yīng)用多活架構(gòu)的解決方案,方案要點(diǎn)如下:l可用區(qū)級(jí)應(yīng)用雙活:從1個(gè)可用區(qū)拓展到2個(gè)可用區(qū),2個(gè)可用區(qū)部署對(duì)等容量的應(yīng)用?;诙嗷罱尤刖W(wǎng)關(guān)產(chǎn)品承接所有業(yè)務(wù)流量,并按照比例或精準(zhǔn)路由規(guī)則將流量調(diào)度到不同可用區(qū)的后端應(yīng)用,多個(gè)可用區(qū)部署的應(yīng)用同時(shí)對(duì)外提供服務(wù),實(shí)現(xiàn)應(yīng)用多活。l微服務(wù)同可用區(qū)優(yōu)先調(diào)用:基于多活產(chǎn)品Agent能力,支持開(kāi)啟Dubbo/SpringCloud同可用區(qū)優(yōu)先調(diào)用功能,從而避免跨可用區(qū)調(diào)用帶來(lái)的RT增長(zhǎng)。而當(dāng)機(jī)房?jī)?nèi)健康的Provider數(shù)量低于配置的閾值時(shí),則優(yōu)先調(diào)用策略自動(dòng)失效,避免同可用區(qū)Provider過(guò)少支撐不住上游的流量壓力。l快速容災(zāi)切換:當(dāng)某一可用區(qū)發(fā)生故障時(shí),基于多活產(chǎn)品的一鍵切流能力,首先通過(guò)多活接入網(wǎng)關(guān)將RPC(Dubbo/SpringCloud)、MQ(RocketMQ)、定時(shí)任務(wù)(SchedulerX/XXL-Job)客戶端進(jìn)行故障隔離,實(shí)現(xiàn)全局流量的快速容災(zāi)切換。3435圖6-1菜鳥(niǎo)鄉(xiāng)村同城應(yīng)用多活架構(gòu)示意圖應(yīng)用收益借助于阿里云的同城應(yīng)用多活解決方案,幫助菜鳥(niǎo)鄉(xiāng)村實(shí)現(xiàn)了在較短的時(shí)間內(nèi)業(yè)務(wù)同城容災(zāi)的目標(biāo),實(shí)現(xiàn)業(yè)務(wù)7*24小時(shí)不間斷服務(wù),即使單機(jī)房故障也能夠分鐘級(jí)恢復(fù),最大程度保障業(yè)務(wù)的連續(xù)性。6.2異地應(yīng)用多活行業(yè)案例背景和挑戰(zhàn)聯(lián)通新客服是聯(lián)通深化混改的重點(diǎn)建設(shè)項(xiàng)目,致力于打造智能化、平臺(tái)化、個(gè)性化、集約化的全國(guó)智能云客服系統(tǒng)。新客服以集中系統(tǒng)為支撐,通過(guò)資源集中調(diào)度和區(qū)域集中化運(yùn)營(yíng),提升服務(wù)效能、降低服務(wù)成本、保障服務(wù)質(zhì)量。當(dāng)前新客服已完成全國(guó)集約,服務(wù)數(shù)近萬(wàn),容器數(shù)達(dá)萬(wàn)級(jí)。全國(guó)集約后,穩(wěn)定性顯得尤為重要,需要加強(qiáng)容災(zāi)建設(shè)以避免全國(guó)性故障風(fēng)險(xiǎn)。36解決方案聯(lián)通新客服使用阿里云MSHA多活解決方案,建設(shè)異地兩中心業(yè)務(wù)同時(shí)在線的分區(qū)域應(yīng)用雙活。阿里云多活產(chǎn)品基于靈活流量調(diào)度、跨域跨云管控、數(shù)據(jù)一致性保護(hù)等能力,保障業(yè)務(wù)在故障場(chǎng)景下可以快速恢復(fù)。聯(lián)通新客服中的方案要點(diǎn)如下:l跨Region應(yīng)用多活:應(yīng)用在相隔較遠(yuǎn)的2個(gè)數(shù)據(jù)中心冗余對(duì)等部署,兩個(gè)數(shù)據(jù)中心同時(shí)對(duì)外提供服務(wù),資源不浪費(fèi)。l靈活流量調(diào)度:基于省份的流量調(diào)度,可以隨時(shí)切換某省份流量到某個(gè)數(shù)據(jù)中心。l數(shù)據(jù)一致性保護(hù):基于阿里“單元化”架構(gòu)的多活方案,2個(gè)數(shù)據(jù)中心的數(shù)據(jù)庫(kù)同時(shí)承擔(dān)寫(xiě)流量而不臟寫(xiě)。圖6-2聯(lián)通新客服的多活架構(gòu)解決方案應(yīng)用收益中國(guó)聯(lián)通總部智慧客服聯(lián)合阿里云,打造了智能化、集約化的云化雙活客服系統(tǒng),實(shí)現(xiàn)聯(lián)通客服從接入、外呼到智能IVR、知識(shí)中心等7大業(yè)務(wù)域的雙活容災(zāi)。支持話務(wù)/業(yè)務(wù)的單獨(dú)切換,以及各業(yè)務(wù)中心的單37獨(dú)切換。歷次大規(guī)模雙活容災(zāi)演練和真實(shí)故障,業(yè)務(wù)系統(tǒng)秒級(jí)切換,為聯(lián)通智慧客服提供了有力的容量及容災(zāi)保障。6.3混合云應(yīng)用多活行業(yè)案例背景和挑戰(zhàn)匯通達(dá)是國(guó)內(nèi)領(lǐng)先的面向零售行業(yè)企業(yè)客戶的交易和服務(wù)平臺(tái),核心業(yè)務(wù)部署在自建IDC中。近年來(lái)業(yè)務(wù)的飛速發(fā)展暴露出自建IDC機(jī)器資源不足和跨機(jī)房容災(zāi)能力缺失的問(wèn)題。解決方案匯通達(dá)與阿里云一起針對(duì)所面臨問(wèn)題以及未來(lái)業(yè)務(wù)規(guī)劃進(jìn)行了深度研討。結(jié)合匯通達(dá)業(yè)務(wù)上云和業(yè)務(wù)容災(zāi)訴求,阿里云制定出了混合云應(yīng)用雙活解決方案,核心內(nèi)容包括:l云上云下應(yīng)用雙活:選擇離IDC較近的阿里云上海Region,應(yīng)用在云上云下容量對(duì)等部署,同時(shí)對(duì)外提供服務(wù)。

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論