精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

B站服務(wù)穩(wěn)定性建設(shè):高可用架構(gòu)與多活治理

開發(fā) 架構(gòu)
災(zāi)難發(fā)生時(shí),借助多活的業(yè)務(wù)快速實(shí)現(xiàn)流量切換,可以避免或大幅降低用戶受到故障的影響。較為典型的兩種方案類型主要包括同城多活和異地多活。

一、高可用多活架構(gòu)

相較于傳統(tǒng)的災(zāi)備單活的架構(gòu),多活指的是在同城或異地的一個(gè)數(shù)據(jù)中心建立一套與本地生產(chǎn)系統(tǒng)部分或完全對(duì)應(yīng)的一套服務(wù),再進(jìn)行流量調(diào)度,使所有可用區(qū)的一個(gè)應(yīng)用同時(shí)對(duì)外提供服務(wù)。

災(zāi)難發(fā)生時(shí),借助多活的業(yè)務(wù)快速實(shí)現(xiàn)流量切換,可以避免或大幅降低用戶受到故障的影響。較為典型的兩種方案類型主要包括同城多活和異地多活。

圖片

1.高可用整體架構(gòu)

圖片

2.多活的方案類型

圖片

我們使用螞蟻的CRG多活定義類型,CRG分別代表GZone 、RZone、CZone的三種模式。

  • GZone模式

用戶間的數(shù)據(jù)可以共享,比如B站的視頻播放、番劇播放、稿件信息直播間等數(shù)據(jù)偏向于平臺(tái)側(cè),這類業(yè)務(wù)場(chǎng)景都可以做成GZone模式。

  • RZone模式

單元化模式,它更適用于用戶側(cè)的流水型數(shù)據(jù),比如社區(qū)的評(píng)論、彈幕、動(dòng)態(tài)及支付,比較適合做成Rzone模式。

  • CZone模式

介于GZone和 RZone之間,做用戶間的數(shù)據(jù)共享,但它支持在當(dāng)?shù)氐亩嗫捎脜^(qū)內(nèi)可讀可寫,并且能夠接受一定的數(shù)據(jù)延遲和不一致性。

B站具有多個(gè)數(shù)據(jù)中心,但整體定位比較混亂,所以我們?cè)诙嗷顖?chǎng)景里重新做了梳理和劃分。

以上海的機(jī)房為例,我們有4個(gè)機(jī)房,整體分為了2個(gè)可用區(qū),用來(lái)做我們GZone的服務(wù)部署。因?yàn)閮蓚€(gè)可用區(qū)都在上海,一般延時(shí)情況都在一毫秒左右,所以在同城雙活方面無(wú)需擔(dān)心出現(xiàn)網(wǎng)絡(luò)延時(shí)問(wèn)題。這也是目前主要在推進(jìn)的一個(gè)業(yè)務(wù)改造覆蓋的方案。

另外,我們還在江蘇設(shè)置機(jī)房,作為 RZone的服務(wù)部署,但由于距離上海較近,無(wú)法模擬出遠(yuǎn)端異地高延遲的情況,同時(shí)容災(zāi)能力存在不足。因此,目前我們?nèi)栽隍?yàn)證在華南或是在一些L2、L3的邊緣機(jī)房進(jìn)行的異地多活的方案,后文將詳細(xì)介紹。

1)同城多活

同城多活是指我們通過(guò)流量調(diào)度,在應(yīng)用多數(shù)據(jù)中心的同時(shí),對(duì)外提供服務(wù)。同城多活的機(jī)房距離較近,所以耗時(shí)一般會(huì)控制在5毫秒以內(nèi),在數(shù)據(jù)層面具備主從同步和切換的能力。因?yàn)橥嵌嗷畹木W(wǎng)絡(luò)延時(shí)比較低,所以在業(yè)務(wù)改造過(guò)渡的階段,服務(wù)的調(diào)用不會(huì)增加過(guò)多耗時(shí)。

圖片

2)異地多活

異地多活也是通過(guò)流量調(diào)度,同時(shí)對(duì)外提供多數(shù)據(jù)中心的服務(wù)。

如果是距離比較遠(yuǎn)的兩個(gè)機(jī)房,那么全程耗時(shí)可能會(huì)達(dá)到30毫秒以上。這方面很難使用單集群的模式來(lái)提供服務(wù),而多集群的模式下,又會(huì)因數(shù)據(jù)一致性的復(fù)雜度造成問(wèn)題。

通常有兩種解決方案,一種是要求業(yè)務(wù)進(jìn)行單元化的改造,它需要具備單元數(shù)據(jù)的分片能力,而單元間需要雙向同步數(shù)據(jù);另一種是面向一些可以接受延遲的業(yè)務(wù),它們?cè)谥骺捎脜^(qū)可寫可讀,然后在異地建立一個(gè)只讀的單元,支持讀的流量分流。

圖片

3) B站的同城多活

因?yàn)楹芏鄶?shù)據(jù)都偏向于用戶間共享,所以B站的很多業(yè)務(wù)適合做成同城多活。下圖為B站同城多活的架構(gòu)圖,由一個(gè)流量層即DCDN層面,對(duì)用戶維度的一些信息來(lái)進(jìn)行Hash路由,然后進(jìn)行請(qǐng)求分發(fā)。

目前,B站主要是基于向用戶的一個(gè)MID或者是用戶的一些設(shè)備ID來(lái)做路由,分發(fā)到不同的可用區(qū),不同可用區(qū)的用戶能夠訪問(wèn)在該可用區(qū)的緩存,比如KV存儲(chǔ)和DB存儲(chǔ)。這兩個(gè)存儲(chǔ)通過(guò)Proxy模式訪問(wèn),可以就近讀本機(jī)房,寫可回源到上海可用區(qū)一。另外,這套方案中又加了一個(gè)Invoker組件,進(jìn)行多活的全局管控。

圖片

①流量接入層

我們通常將流量的管控面分為南北向,即從用戶側(cè)到我們內(nèi)部服務(wù)的方向。另一方向是東西向,一般指內(nèi)網(wǎng)的服務(wù)間調(diào)用的流量。其中南北向這個(gè)部分就是由我們的DCDN、SLB,也就是7層負(fù)載,還有API網(wǎng)關(guān)。

在實(shí)際的架構(gòu)中,用戶從端上過(guò)來(lái)訪問(wèn),會(huì)基于DNS或是HTTP DNS來(lái)訪問(wèn)我們的DCDN的節(jié)點(diǎn),在DCDN回源時(shí)會(huì)有POP點(diǎn)來(lái)做流量的匯聚,再進(jìn)入到我們的可用區(qū)。我們的DCDN基于邊緣CDN節(jié)點(diǎn)來(lái)做整體的路由管控,實(shí)現(xiàn)動(dòng)態(tài)的最佳選路。

我們自研了一個(gè)Picker模塊,可支持用戶的一個(gè)MID或者是設(shè)備ID Hash到不同的可用區(qū),同時(shí)支持用戶流量權(quán)重在多機(jī)房進(jìn)行全動(dòng)態(tài)和靈活的調(diào)整,99:1或日常的50:50都可以靈活定義。至于7層負(fù)載SLB,它能通過(guò)服務(wù)發(fā)現(xiàn)多可用區(qū)的下游服務(wù)和APIGW的節(jié)點(diǎn),支持API的降級(jí)和全局限流的能力。

APIGW本身是一個(gè)容器部署的服務(wù),和我們內(nèi)部其他BFF層一樣,支持發(fā)現(xiàn)多可用區(qū)的服務(wù)節(jié)點(diǎn),所以我們將其放在了南北向和東西向流量銜接的這一層,使它支持單可用區(qū)服務(wù)的故障重試。目前我們也逐步將SLB側(cè)的管控能力轉(zhuǎn)移到GW層面統(tǒng)一進(jìn)行管理,它可以支持服務(wù)的API降級(jí)、熔斷和限流,包括我們和客戶端聯(lián)動(dòng)的流控能力,避免服務(wù)故障時(shí)客戶端瘋狂重試導(dǎo)致進(jìn)一步壓垮服務(wù)。

APIGW也部署于PaaS平臺(tái),支持HPA彈性擴(kuò)容,可以應(yīng)對(duì)一些流量突增的情況。

Discovery是我們的服務(wù)發(fā)現(xiàn)組件,在服務(wù)啟動(dòng)后,它會(huì)向注冊(cè)中心進(jìn)行注冊(cè),并且定期更新Review,同時(shí)對(duì)服務(wù)下游依賴的信息如HTTP或者是GRPC的地址端口,及其可用區(qū)的信息進(jìn)行拉取和緩存。

在調(diào)用下游時(shí),客戶端即SDK層面會(huì)默認(rèn)選取同可用區(qū)的一個(gè)節(jié)點(diǎn)。若下游在該可用區(qū)未做部署,比如一些非多活的業(yè)務(wù),則會(huì)回到主可用區(qū)調(diào)用。所以在同城多活的場(chǎng)景下,要求服務(wù)能夠在本地完整地支持寫請(qǐng)求的處理,以及強(qiáng)弱依賴必須在本地進(jìn)行部署,而弱依賴則會(huì)被允許應(yīng)用跨專線回主機(jī)房。另外,Discovery也能對(duì)東西向的流量權(quán)重進(jìn)行管理,包括一些灰度驗(yàn)證等。

圖片

②緩存一致性

為避免業(yè)務(wù)直連緩存實(shí)例,緩存接入方面我們提供統(tǒng)一的Proxy。SDK 在各開發(fā)語(yǔ)言上并不統(tǒng)一,所以可能會(huì)引發(fā)短連接的風(fēng)暴,并引起性能下降。我們通過(guò)用Proxy來(lái)長(zhǎng)連接緩存實(shí)例,Proxy支持 Sidecar和ProxylessSDK等模式提供接入。B站緩存的使用場(chǎng)景不支持多機(jī)房的同步,在多活場(chǎng)景下要求服務(wù)訂閱同機(jī)房的一個(gè)數(shù)據(jù)源,對(duì)緩存進(jìn)行數(shù)據(jù)更新或者刪除,維護(hù)緩存數(shù)據(jù)最終的一致性。

  • 保證緩存一致性的處理方式

Cache Aside的模式即DB/KV的存儲(chǔ)加上緩存,因?yàn)閿?shù)據(jù)最終都會(huì)落到存儲(chǔ)上,所以這類情況下業(yè)務(wù)只需要通過(guò)Canal訂閱同可用區(qū)存儲(chǔ)Binlog變更然后投遞消息隊(duì)列,由業(yè)務(wù)的的Job解析處理后刪除或更新緩存。

圖片

  • 純緩存場(chǎng)景

一類是熱數(shù)據(jù)的情況,業(yè)務(wù)在多可用區(qū)可能通過(guò)Job定時(shí)刷新,把數(shù)據(jù)從DB或者是其他的離線數(shù)據(jù)源中拉取,隨后存放到緩存中。在多活情況下,這類場(chǎng)景要求獨(dú)立部署,再通過(guò)job做定時(shí)更新,目的是使業(yè)務(wù)和緩存在單個(gè)可用區(qū)內(nèi)實(shí)現(xiàn)閉環(huán)的調(diào)用。

另一類就是將緩存當(dāng)做存儲(chǔ)的用法,這個(gè)用法一般不推薦,出于性能考慮,B站不支持做持久化的緩存場(chǎng)景。若作為存儲(chǔ)使用,即使是Cache Aside這樣的模式,在遇到一些較大規(guī)模的故障時(shí),仍舊會(huì)出現(xiàn)數(shù)據(jù)丟失的情況。

所以在這方面建議業(yè)務(wù)改造為Cache Aside的模式,或者是通過(guò)KV進(jìn)行存儲(chǔ)。KV是B站自研的分布式KV存儲(chǔ)系統(tǒng),本身的數(shù)據(jù)存儲(chǔ)在SSD中,所以它的性能必然不如Redis Cluster內(nèi)存的性能有優(yōu)勢(shì)。但我們做過(guò)評(píng)估,當(dāng)業(yè)務(wù)的QPS小于10萬(wàn),基本上可以遷移到我們的KV存儲(chǔ)系統(tǒng)內(nèi)。KV存儲(chǔ)也支持Redis協(xié)議的一些常用命令和操作,它的最大特性是支持機(jī)房的多活。

  • 分布式鎖場(chǎng)景

例如涉及一些分布式鎖或者說(shuō)處理冪等,這類情況就建議把業(yè)務(wù)改造為KV。因?yàn)镵V本身支持如Cache這樣的命令,并且它的數(shù)據(jù)持久化,同時(shí)它也支持跨可用區(qū)同步,與多活場(chǎng)景比較契合。

③消息多活

我們提供了三種模式以根據(jù)不同場(chǎng)景進(jìn)行選擇:

  • 各可用區(qū)的消息自產(chǎn)自銷

這個(gè)模式下Topic間不會(huì)進(jìn)行消息同步,需要生產(chǎn)端投遞本可用區(qū)的 Topic,再由本可用區(qū)的下游直接進(jìn)行消費(fèi)。這種模式比較適用于 Service至Job異步消息的場(chǎng)景,或者是ServiceA投遞給已多活的下游ServiceB這樣的情況。

  • 多可用區(qū)全量消費(fèi)(Global)

這個(gè)模式下Topic間會(huì)通過(guò)Sync的一個(gè)組件雙向同步消息,每一個(gè)topic中有兩個(gè)可用區(qū),即可用區(qū)一+可用區(qū)二的全量消息,然后同步全量消息。它適用于ServiceA投遞給未多活下游ServiceB的場(chǎng)景,比如離線或大數(shù)據(jù),下游一般要繼續(xù)在可用區(qū)一消費(fèi)全量數(shù)據(jù)。

  • 全量消費(fèi)(Global)自定義不消費(fèi)可用區(qū)

從Global模式衍生出來(lái)的一種模式,允許選擇任意一個(gè)可能區(qū)不消費(fèi),比較適用于消息由解析Binlog觸發(fā)全量數(shù)據(jù)的情況。在可用區(qū)二的下游,需要考慮消費(fèi)后的冪等處理,包括一些存儲(chǔ)或者下游的調(diào)用放大的情況下,可選擇其中一個(gè)可用區(qū)不消費(fèi)。這個(gè)模式的好處是,出現(xiàn)可用區(qū)故障時(shí),可通過(guò)切換消費(fèi)模式快速恢復(fù)整個(gè)消息層的消費(fèi)。

這三種模式的設(shè)置和Topic間消息同步的開啟,不會(huì)做任何綁定。在多活過(guò)程中,我們和業(yè)務(wù)共同做場(chǎng)景梳理,包括梳理明晰涉及到哪些消息隊(duì)列,哪些相關(guān)下游在確定整個(gè)消費(fèi)模式的制定等。

④數(shù)據(jù)訪問(wèn)/存儲(chǔ)層

存儲(chǔ)層同樣由我們的中間件支持,我們提供了MySQL,TiDB以及Taishan(KV)三種Proxy,整個(gè)機(jī)制沒有區(qū)別,它具備多可用區(qū)路由的能力,并且能夠具備實(shí)例拓?fù)涞淖詣?dòng)發(fā)現(xiàn)和動(dòng)態(tài)切換能力。

  • GZone:對(duì)于同城雙活場(chǎng)景下數(shù)據(jù)需要全局存放的情況,即一主多從這樣的模式,服務(wù)在主可用區(qū)基本上能讀寫GZone的存儲(chǔ),本可用區(qū)有可讀的從實(shí)例,在可用區(qū)也有從實(shí)例,通過(guò)Proxy將寫的路由回源到主機(jī)房。而在一些強(qiáng)一致的場(chǎng)景下,也提供了SQL Hint級(jí)別的配置或在連接串請(qǐng)求頭中增加一些master或者PRIMARY的配置,從而實(shí)現(xiàn)強(qiáng)制讀主的場(chǎng)景。
  • RZone:在RZone單元化這一方面,業(yè)務(wù)要做數(shù)據(jù)分片,分片的數(shù)據(jù)需要完成雙向同步,本可用區(qū)的一個(gè)分片能夠?qū)崿F(xiàn)讀寫操作的封閉。
  • DTS同步組件:可以實(shí)現(xiàn)數(shù)據(jù)的雙向復(fù)制,目前整體延遲小于10秒,同時(shí)支持?jǐn)?shù)據(jù)沖突檢測(cè),發(fā)送沖突時(shí)支持暫停同步或者說(shuō)異步把通知投遞到消息隊(duì)列,再由業(yè)務(wù)來(lái)處理沖突。

圖片

二、業(yè)務(wù)多活演進(jìn)

1.多活業(yè)務(wù)劃分

在多活架構(gòu)中通常會(huì)按業(yè)務(wù)域進(jìn)行多活業(yè)務(wù)劃分,面向C端還是B端分別是兩種不同的業(yè)務(wù)形態(tài)。

圖片

2.B站的業(yè)務(wù)同城多活改造

  • 單活:B站大部分業(yè)務(wù)最初也是單活模式,即服務(wù)只在單個(gè)可用區(qū)做部署,缺乏Proxy支持,緩存和DB大部分都是客戶端直連。業(yè)務(wù)發(fā)布接口需要在SLB和CDN上分別做配置,并進(jìn)行規(guī)則發(fā)布。

  • 讀多活:它是一個(gè)過(guò)渡方案。雖然我們的服務(wù)開始在另一個(gè)可用區(qū)做整個(gè)部署,但在流量層面,我們只能支持讀接口的接流,而且接口大部分都通過(guò) CDN側(cè)或者SLB側(cè)進(jìn)行流量的轉(zhuǎn)發(fā),還有一些緩存或消息隊(duì)列的一些組件未完成多活改造,存在跨機(jī)房調(diào)用的情況。

  • 同城多活:我們提供了各類組件的 Proxy接入支持,使業(yè)務(wù)在可用區(qū)二能支持處理寫的請(qǐng)求,并借助Proxy支持整個(gè)容災(zāi)的自動(dòng)切換。緩存的一致性也是這個(gè)方案里的一個(gè)重點(diǎn),要求業(yè)務(wù)必須通過(guò)Canal+Job這樣的方式維護(hù)緩存的一致性,包括消息的生產(chǎn)消費(fèi)都達(dá)成了可用區(qū)內(nèi)的閉環(huán)。

至于GZS的組件,則由Invoker平臺(tái)和APIGW對(duì)服務(wù)接口的發(fā)布進(jìn)行統(tǒng)一的管理。

我們認(rèn)為,現(xiàn)階段去做單元化改造成本較高,收益可能并不大。所以基于同城多活的方案,衍生出異地多活的架構(gòu),目前我們正在驗(yàn)證該異地多活方案。

華南可用區(qū)是我們相對(duì)遠(yuǎn)端的一個(gè)可用區(qū),用來(lái)承接一部分讀的流量,它整體的架構(gòu)是對(duì)標(biāo)可用區(qū)二讀多活的模式。在服務(wù)發(fā)現(xiàn)層面依舊通過(guò)Discovery的組建實(shí)現(xiàn)當(dāng)前可用區(qū)的調(diào)用,核心依賴在華南可用區(qū)完成整個(gè)部署,一些弱依賴則可返回上海可用區(qū)做調(diào)用。

在數(shù)據(jù)存儲(chǔ)同步方面,原來(lái)的兩個(gè)上海可用區(qū)距離不遠(yuǎn),我們使用的基本是一些原生的同步組件,它本身也能滿足單向同步。實(shí)現(xiàn)遠(yuǎn)端后,要繼續(xù)滿足DTS的單向同步能力。而緩存和消息隊(duì)列,則繼續(xù)遵循最終一致以及自產(chǎn)自銷的原則來(lái)實(shí)施。

三、多活管控與治理

1.多活元信息規(guī)則治理

我們初期在CDN上的一些規(guī)則偏向非標(biāo),有大量的正則寫法,所以我們?cè)谧龅谝徊綍r(shí)就對(duì)多活元信息的規(guī)則進(jìn)行了治理,APIGW接入時(shí)也應(yīng)用了前綴路由的模式,以方便做后續(xù)的統(tǒng)一切流管理。另外,也保留了一部分非標(biāo)的多活規(guī)則,能夠提供自定義的規(guī)則錄入,例如前端或Web端的規(guī)則。回源或緩存的規(guī)則等非多活規(guī)則就繼續(xù)存放于CDN層面。

2.Invoker平臺(tái)多活&強(qiáng)依賴降級(jí)&演練

Invoker平臺(tái)也有一些依賴,我們將其中的業(yè)務(wù)資源元信息存放在CMDB中,還有一些存放登錄態(tài)、鑒權(quán)和工單審批的系統(tǒng)。我們?cè)诮ㄔO(shè)Invoker的同時(shí),對(duì)這個(gè)平臺(tái)做了GZone模式的部署。我們對(duì)它的核心依賴都做了故障演練,對(duì)每一個(gè)依賴也做了降級(jí)方案。之前也遇到過(guò)管理后臺(tái)在故障時(shí)無(wú)法登錄的情況,所以留了超管權(quán)限,并做了異地部署,以保證Invoker平臺(tái)在故障時(shí)可用。

3.多活流量管控

在多活編排接入流程化這一方面,基于跟業(yè)務(wù)做改造和做接入的經(jīng)驗(yàn),總結(jié)了一些方法論,完成了平臺(tái)化和功能化。

圖片

1)編排、預(yù)檢與觀測(cè)

做業(yè)務(wù)接入時(shí),首先要對(duì)多活業(yè)務(wù)進(jìn)行定義,由此平臺(tái)側(cè)能讓我們基于CMDB選擇業(yè)務(wù),定義它的多活類型,從而編排整個(gè)接入層的切量規(guī)則和數(shù)據(jù)層的切量規(guī)則。目前我們支持消息層的切換和東西流量的編排。在進(jìn)行日常的切量演練或故障演練前,我們會(huì)做前置的檢查,例如容量巡檢、sos層面的監(jiān)控、數(shù)據(jù)庫(kù)的連接池、業(yè)務(wù)在SLB平臺(tái)的限流配置等,要提前檢查其狀態(tài),并預(yù)檢DB和KV主從同步的延遲情況。

2)切量

在切量的過(guò)程中,我們會(huì)觀測(cè)業(yè)務(wù)多活流量的變化與新引入的SLO體系的相關(guān)指標(biāo)。在這個(gè)平臺(tái)做了集成后,最后一個(gè)環(huán)節(jié)則是將多活驗(yàn)證的思路落實(shí)到平臺(tái),例如要求多活流量在單可用區(qū)內(nèi)做到閉環(huán),而針對(duì)一些弱依賴則要求業(yè)務(wù)去做故障演練。

4.多活定義編排

多活定義編排是指,能夠選擇一個(gè)業(yè)務(wù)去定義它的多活模式,確定它是CZone、GZone還是RZone的方式,確定它的服務(wù)具體分布的地域位置和可用區(qū)。

在接入層,除了有APIGW比較標(biāo)準(zhǔn)的一些前置規(guī)則,也支持自定義規(guī)則的錄入,以及它在DCDN層面流量調(diào)度的比例。

我們?cè)跀?shù)據(jù)層面支持Taishan(KV)和DB的編排錄入,包括下游的消費(fèi)任務(wù),如Canal或 KV的同步任務(wù)這一部分的切換。

圖片

上圖是執(zhí)行切量過(guò)程的界面,在切量申請(qǐng)時(shí)會(huì)選擇一個(gè)業(yè)務(wù),然后選擇它的一個(gè)切流緯度,包括它要求的切流比例,選擇是否同時(shí)去切換我們的存儲(chǔ),執(zhí)行切流是切哪些規(guī)則,對(duì)切量對(duì)象選擇進(jìn)行配置。

5.切流預(yù)檢與可視化

以往由人工完成的這一流程,如今被整合到平臺(tái)中,支持容量延遲和限流的預(yù)檢。在切流過(guò)程中,我們能觀測(cè)服務(wù)、緩存和DB等容量情況。

目前在做的一些接入如SLO觀測(cè)則包括鏈路的依賴、整體鏈路上下游的SLO情況等,我們也在做平臺(tái)側(cè)的接入。

圖片

6.多活有效性驗(yàn)證

1)依賴展示

同城多活方案強(qiáng)調(diào)在機(jī)房?jī)?nèi)能夠?qū)崿F(xiàn)讀寫流量的處理,以便在故障時(shí)快速恢復(fù)。因此在有效性驗(yàn)證方面,比較注重依賴的排查。我們能在平臺(tái)側(cè)展示依賴,同時(shí)能展示服務(wù)的下游依賴和組件依賴,這方面用到了Trace的能力。

2)依賴檢查

針對(duì)需要確定哪些依賴是強(qiáng)依賴,哪些依賴是弱依賴的類似情況,我們會(huì)對(duì)依賴進(jìn)行檢查和打標(biāo)。

3)流量閉環(huán)

打標(biāo)后,會(huì)進(jìn)行流量閉環(huán)的檢查,通過(guò)打標(biāo)和依賴發(fā)現(xiàn)這些信息,然后進(jìn)行跨可用區(qū)調(diào)用的發(fā)現(xiàn),直到確認(rèn)核心依賴在可用區(qū)內(nèi)是閉環(huán)的,弱依賴則要求業(yè)務(wù)排期做演練。

4)故障演練

這部分由框架SDK支持,它能夠?qū)崿F(xiàn)依賴的自動(dòng)發(fā)現(xiàn)和自動(dòng)的故障演練,最終會(huì)輸出一份報(bào)告,確認(rèn)是否都符合預(yù)期。若與預(yù)期不符,再進(jìn)行改造和演練。

圖片

Q&A

Q1:同城雙活架構(gòu)下應(yīng)用層做了雙多活,基礎(chǔ)架構(gòu)層還有必要雙活嗎?

A1:我覺得有必要。所有的技術(shù)組件在設(shè)計(jì)時(shí)就要考慮雙活模式,因?yàn)闃I(yè)務(wù)的多活基于組建本身的高可用,如之前介紹的Invoker組件的多活,它對(duì)于鑒權(quán)工單審批的依賴,我們都需要去考慮它的多活設(shè)計(jì),以及在真正出現(xiàn)單可用區(qū)故障的時(shí)刻,我如何能登錄這個(gè)平臺(tái)去實(shí)現(xiàn)多活管控。

Q2:多活如何保證數(shù)據(jù)一致性?

A2:這還需要根據(jù)數(shù)據(jù)中心的分布和業(yè)務(wù)形態(tài)來(lái)進(jìn)行方案的選擇。若是同城,只要考慮寫主庫(kù)讀從庫(kù)的模式,強(qiáng)一致性的需要強(qiáng)制讀寫主庫(kù)。若是比較遠(yuǎn)距離異地多活,需要進(jìn)行數(shù)據(jù)分片、單元化雙寫的改造,并且能夠接受部分?jǐn)?shù)據(jù)的同步延遲,因?yàn)榭绲赜虻暮臅r(shí)增加屬于物理層面,無(wú)法避免。只能根據(jù)一個(gè)合適的業(yè)務(wù)場(chǎng)景,適配相應(yīng)的多活方案。關(guān)于緩存數(shù)據(jù),前面也介紹了緩存一致性的幾種維護(hù)方式。

Q3:高可用多活的成本如何把控,過(guò)程中對(duì)ROI的考慮是怎樣的?

A3:要從以下兩個(gè)方面分析:一是收益。發(fā)生故障時(shí),就會(huì)感知到多活的收益是有價(jià)值的。B站在21年經(jīng)歷過(guò)一次比較大的故障,當(dāng)時(shí)恢復(fù)最快的原因是已經(jīng)做了多活的業(yè)務(wù),哪怕是只做了讀多活的一些業(yè)務(wù),也恢復(fù)得很快。可能因?yàn)锽站讀場(chǎng)景比較多,所以對(duì)用戶感知層面讀場(chǎng)景的快速恢復(fù)能大大緩解用戶側(cè)的焦慮和客戶投訴的情況;

二是成本。一是注意資源增長(zhǎng),因?yàn)楝F(xiàn)在做的都是同城多活模式,同城的機(jī)房服務(wù)都是在線提供,所以它不存在資源的空好浪費(fèi)。日常我們也會(huì)準(zhǔn)備一些資源冗余來(lái)應(yīng)對(duì)突發(fā)情況和高峰期,即換個(gè)思路,可以通過(guò)資源的彈性或混部來(lái)進(jìn)行運(yùn)維成本的增加。如Invoker平臺(tái),它就是大大降低運(yùn)維成本增加的工具,它能把一些人工完成的事情都轉(zhuǎn)化為平臺(tái)的功能層面,出現(xiàn)故障時(shí)能夠一鍵執(zhí)行切流。所以要把收益和成本兩件事結(jié)合考慮。

責(zé)任編輯:武曉燕 來(lái)源: dbaplus社群
相關(guān)推薦

2023-04-26 18:36:13

2022-02-24 08:18:12

穩(wěn)定性高可用可用性

2022-06-14 14:57:47

穩(wěn)定性高可用流程

2022-10-20 12:04:08

2022-09-15 08:33:27

安全生產(chǎn)系統(tǒng)Review

2023-10-09 07:24:58

數(shù)據(jù)穩(wěn)定性治理數(shù)據(jù)處理

2025-03-18 00:00:01

2023-06-15 11:48:09

2022-05-13 12:14:44

CSS項(xiàng)目技能

2011-12-21 09:46:46

程序員

2021-03-10 11:18:21

高可用系統(tǒng)限流

2021-01-27 11:48:34

高可用系統(tǒng)Review

2023-08-22 14:29:05

大前端

2025-07-31 01:25:00

2024-03-26 00:00:02

交易鏈路同城雙活交易

2022-05-17 12:19:05

實(shí)踐性能運(yùn)營(yíng)

2016-12-21 09:33:40

2009-02-04 09:22:40

穩(wěn)定性服務(wù)器測(cè)試

2022-12-15 09:56:27

2023-08-28 10:40:12

Java分布式
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

婷婷色在线观看| 中文字幕在线观看成人| 亚洲天堂1区| 国产精品免费视频一区| 亚洲最大福利视频| 青青草av在线播放| 日韩理论电影院| 日韩一二三区视频| wwwxxx黄色片| 18视频在线观看| 26uuu精品一区二区| 国产日产久久高清欧美一区| 国产精品999久久久| 欧美亚洲国产精品久久| 日韩精品一区二区三区swag| 久久久久久久久久久久久国产精品| 欧美18hd| 久久久久久久久免费| 亚洲xxxx做受欧美| 国产日韩在线免费观看| 国产精品第十页| 色综合伊人色综合网| 国产白袜脚足j棉袜在线观看| 日韩在线短视频| 午夜国产精品一区| 99热一区二区三区| 国产一二三区在线| 成人av电影免费观看| 91免费国产网站| 成人a v视频| 一区二区三区精品视频在线观看| 伦伦影院午夜日韩欧美限制| 欧美黄色激情视频| 神马香蕉久久| 亚洲福利精品在线| 人妻精油按摩bd高清中文字幕| avav成人| 在线精品视频免费播放| 97干在线视频| 精灵使的剑舞无删减版在线观看| 中文字幕在线视频一区| 日韩欧美视频一区二区| 四虎精品成人免费网站| 成人97人人超碰人人99| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 99热国产在线观看| 中文在线日韩| 久久不射电影网| 91久久久久久久久久久久久久| 九九精品久久| 亚洲人成网站777色婷婷| 精品人妻一区二区三区香蕉| 高清一区二区三区| 亚洲第一综合天堂另类专| 久久久久久久久久久影视| 国产剧情一区二区在线观看| 在线观看91av| 日本黄色一级网站| 一区二区三区亚洲变态调教大结局| 欧美一区二区视频在线观看| 久久人人爽人人片| 91精品入口| 亚洲精品国产精品乱码不99按摩 | 天天干在线影院| 韩日精品一区二区| 欧美午夜理伦三级在线观看| 色婷婷狠狠18| 国产一区二区视频在线看| 欧美一区二区在线视频| 国产欧美视频一区| 日本在线中文字幕一区| 亚洲丝袜在线视频| 国产传媒免费在线观看| 欧美先锋影音| 欧美亚洲视频在线观看| 亚洲精品91天天久久人人| 老司机精品视频一区二区三区| 亚洲伊人成综合成人网| 少妇荡乳情欲办公室456视频| 久久久久久99久久久精品网站| 欧美一区二区三区四区在线观看地址| 国产理论电影在线观看| 亚洲色图在线看| 久在线观看视频| 久久精品97| 亚洲第一精品电影| 亚洲一区视频在线播放| 综合一区在线| 97在线观看视频国产| 亚洲综合成人av| 国产精品一色哟哟哟| 久久精彩视频| 国产最新在线| 黑人极品videos精品欧美裸| 亚洲视频第二页| 国产欧美啪啪| 日韩在线免费视频| 国产成人精品亚洲男人的天堂| 老司机午夜精品视频在线观看| 91牛牛免费视频| 手机看片国产1024| 亚洲人成精品久久久久| 青青草原av在线播放| av日韩一区| 亚洲人成免费电影| 久久综合久久鬼| 捆绑调教美女网站视频一区| 国产在线精品一区| 精品国产丝袜高跟鞋| 欧美日韩亚洲系列| 欧美69精品久久久久久不卡| 日韩成人免费| 97在线免费观看| 国产精品国产精品国产专区| 久久久久久久一区| 国产精品啪啪啪视频| 91p九色成人| 日韩国产高清视频在线| 特级片在线观看| 日本欧美在线观看| 久久综合九色99| hd国产人妖ts另类视频| 3d成人h动漫网站入口| 性猛交ⅹxxx富婆video| 日韩一级网站| 国产中文一区二区| 色www永久免费视频首页在线| 欧美日韩欧美一区二区| 亚洲av无码一区二区三区人| 99精品视频免费观看视频| 7777奇米亚洲综合久久| 国产三区视频在线观看| 精品视频1区2区| 一级片视频免费看| 久久激情婷婷| 麻豆传媒一区| 在线毛片观看| 精品亚洲aⅴ在线观看| 久久精品国产亚洲av高清色欲| 国产精品白丝av| 欧美aaa在线观看| 日韩成人综合网站| 日韩在线小视频| 又骚又黄的视频| 国产精品日韩成人| 国产精品久久久毛片| 欧美视频免费| 国产精品麻豆va在线播放| 国内精品一区视频| 欧美色视频一区| 亚洲图片第一页| 美女网站在线免费欧美精品| 亚洲图片欧洲图片日韩av| 国产日本久久| 久久躁狠狠躁夜夜爽| 国产精品视频一二区| 亚洲天堂福利av| 韩国三级丰满少妇高潮| 欧美日韩在线大尺度| 古典武侠综合av第一页| 大香伊人久久| 精品亚洲一区二区| 波多野结衣大片| 国产精品久久久久久妇女6080| 国产精品区在线| 中文精品久久| 国产伦精品一区二区三区高清| 波多野一区二区| 亚洲欧美综合v| 中文字幕 自拍偷拍| 亚洲日本电影在线| 91人妻一区二区| 久久精品午夜| 亚洲美女网站18| 日本亚洲视频| 5252色成人免费视频| 91美女视频在线| 3atv在线一区二区三区| 国产精品19乱码一区二区三区| 久久久三级国产网站| www.超碰97.com| 亚洲手机在线| 久久久久久久久久久久久久一区 | 国产综合动作在线观看| 国产精品扒开腿做爽爽爽视频软件| 丝袜美腿精品国产二区| 亚洲精品久久久蜜桃动漫| 欧美日韩午夜剧场| 四虎影视一区二区| 9l国产精品久久久久麻豆| 少妇一级淫免费放| 欧美日韩三级电影在线| 欧美激情视频一区二区三区| 另类视频一区二区三区| 日本国产欧美一区二区三区| av在线免费网站| 亚洲欧美国产另类| www.亚洲天堂.com| 日本道精品一区二区三区| 18岁成人毛片| 国产人妖乱国产精品人妖| 亚洲女则毛耸耸bbw| 麻豆专区一区二区三区四区五区| 成人性免费视频| 午夜精品久久久久久久四虎美女版| 国产亚洲情侣一区二区无| 国产人妖一区| 国产91精品最新在线播放| 在线不卡日本v二区707| 一区二区三区亚洲| 色偷偷在线观看| 日韩一区二区影院| 中文字幕一区二区人妻| 欧美日韩精品在线观看| 九九视频在线观看| 国产精品毛片大码女人| 中文字幕免费视频| 成人av网在线| 韩国三级丰满少妇高潮| 精品一区二区三区免费视频| 无遮挡又爽又刺激的视频| 国产精品magnet| 精品嫩模一区二区三区| 久久理论电影| 日韩av图片| 自拍亚洲一区| 美媛馆国产精品一区二区| 一区二区三区四区高清视频 | 国产成人黄色网址| 久久午夜精品| 欧美日韩一区二区在线免费观看| 亚洲精品孕妇| 免费看黄在线看| 国产综合精品| 污污污污污污www网站免费| 亚洲欧美网站在线观看| 手机成人av在线| 欧美成免费一区二区视频| 日韩国产欧美一区| 日韩黄色大片| 亚洲最大色综合成人av| 日韩精品免费一区二区三区| 亚洲mv在线看| 精品国产123区| 日韩欧美亚洲日产国| 狠狠色丁香婷婷综合影院| 日韩av一区二区三区美女毛片| 国产精品亚洲二区| 日韩一区二区三区高清| 国产一区二区三区网| 欧美一区视久久| 日韩电影在线视频| 制服诱惑一区| 欧美在线免费| 日韩精品一区在线视频| 亚洲国产精品第一区二区| 黄色网页免费在线观看| 亚洲一区欧美二区| 99久久国产宗和精品1上映| 男女男精品网站| 尤物网站在线看| 国产成人精品亚洲777人妖| 性囗交免费视频观看| 久久久精品综合| 日本黄区免费视频观看| 亚洲视频综合在线| 日本少妇激情视频| 欧美性猛交xxxx黑人猛交| 在线观看黄色网| 日韩精品一区二区三区swag| 天堂视频中文在线| 在线观看国产精品日韩av| 欧美精品hd| 欧美激情手机在线视频| 一区二区乱码| 国产日韩欧美自拍| www.成人网| 欧美一区二区三区在线播放| 亚洲mv大片欧洲mv大片| 国产精品国产亚洲精品看不卡| 日韩精品电影在线| 污免费在线观看| 久久无码av三级| 一区二区三区影视| 欧美性开放视频| 国产成人精品一区二区无码呦| 亚洲国产中文字幕久久网| 99re热久久这里只有精品34| 欧美富婆性猛交| www.久久.com| 国产一区二区精品在线| 欧美独立站高清久久| 国产91xxx| 国产在线乱码一区二区三区| 中文字幕 亚洲一区| 成人免费在线观看入口| www..com国产| 日韩一级视频免费观看在线| 黄色av网址在线免费观看| 欧美日韩国产成人在线| 欧美xnxx| 久久久99国产精品免费| 中国精品18videos性欧美| 国产精品igao| 91美女片黄在线| 欧美成人综合色| 欧美日韩视频在线观看一区二区三区| 蜜桃视频久久一区免费观看入口| 中文在线资源观看视频网站免费不卡| 国产三线在线| 亚洲xxx自由成熟| 色综合久久一区二区三区| 国自产拍偷拍精品啪啪一区二区 | 色婷婷国产精品久久包臀| www.久久精品.com| 久久精品中文字幕| 电影天堂国产精品| 久久久久久一区| 亚洲欧洲一区| 无码人妻少妇色欲av一区二区| 欧美激情一区二区三区在线| 日韩黄色在线播放| 精品av综合导航| 超碰在线观看免费| 成人欧美在线视频| 欧美日韩一二三四| 国产综合免费视频| 91毛片在线观看| 日产精品久久久久久久| 欧美精品一区在线观看| 青春草视频在线观看| 91手机在线播放| 一区二区电影| 国产在线观看中文字幕| 国产精品成人一区二区艾草| 最新在线中文字幕| 一区二区三区国产在线观看| 制服诱惑亚洲| 三区精品视频观看| 美国一区二区三区在线播放 | 国产黄色在线免费观看| 国产日本欧美一区二区三区| 日韩精品久久久久久久电影99爱| 国产aaaaa毛片| 国产女同性恋一区二区| 成人黄色片在线观看| 深夜福利亚洲导航| 亚洲精品伦理| 久久观看最新视频| 国产福利一区在线| 国产无码精品视频| 亚洲精品不卡在线| 向日葵视频成人app网址| 日韩中文不卡| 精品中文字幕一区二区| 污污的视频在线免费观看| 日韩三级视频在线看| 日本大胆在线观看| 精品蜜桃一区二区三区| 天堂va蜜桃一区二区三区漫画版| 蜜桃久久精品成人无码av| 欧美日韩国产在线观看| 特级毛片在线| 九9re精品视频在线观看re6| 丝袜美腿成人在线| 女同久久另类69精品国产| 日韩一区二区三区在线视频| www视频在线观看| 午夜久久资源| 国产电影精品久久禁18| 国产一国产二国产三| 亚洲精品一区中文| 久久天堂影院| 精品国产一区二区三区无码| 99精品欧美一区二区蜜桃免费| av一级在线观看| 久久成人综合视频| 久久精品色播| 在线免费观看视频黄| 亚洲无人区一区| 高清毛片在线看| 97人人干人人| 久久婷婷av| 欧美精品入口蜜桃| 亚洲精品一区二区在线| 国产一区二区三区精品在线观看 | 精品综合久久久久久8888| 久久免费公开视频| 在线视频日本亚洲性| av自拍一区| 国产日韩欧美久久| 精品福利在线看| 久久日韩视频| 久久久影院一区二区三区| 韩国三级电影一区二区| 久久国产视频播放| 成年人精品视频| 精品久久久久中文字幕小说| 欧美激情一区二区三区p站| 欧美日韩三级在线|