日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

云上災(zāi)備和多活架構(gòu)

更新時(shí)間:

云數(shù)據(jù)庫MongoDB版推出MongoDB實(shí)例間的同步產(chǎn)品:云上災(zāi)備和多活,助力企業(yè)快速復(fù)制阿里巴巴異地多活架構(gòu)。

說明

云上災(zāi)備功能即將下線,未來計(jì)劃通過數(shù)據(jù)傳輸服務(wù)DTS(Data Transmission Service)來支持災(zāi)備、雙活或多活,滿足多數(shù)據(jù)中心和容災(zāi)等業(yè)務(wù)需求。

架構(gòu)

  • Oplog(operations log):MongoDB的日志,所有對(duì)數(shù)據(jù)庫的修改都會(huì)保存在Oplog中。

  • ReplicaA、ReplicaB:ReplicaA、ReplicaB分別是獨(dú)立的MongoDB三節(jié)點(diǎn)副本集實(shí)例。

    為保證雙活,ReplicaA、ReplicaB都需要可寫入。由用戶端保證同一數(shù)據(jù)不會(huì)在ReplicaA、ReplicaB同時(shí)寫入。

  • Oplog同步:通過BLS互相同步Oplog數(shù)據(jù)后,再在目的端重放數(shù)據(jù)。

MongoDB云上災(zāi)備和多活中,主要有以下三大組件:

  • BLS Manager:中心控制模塊,負(fù)責(zé)Collector、Receiver的調(diào)度和監(jiān)控等任務(wù)。

  • BLS Collector:數(shù)據(jù)采集模塊,負(fù)責(zé)從源MongoDB數(shù)據(jù)庫拉取Oplog數(shù)據(jù),然后發(fā)送到Kafka通道。

  • BLS Receiver:數(shù)據(jù)回放模塊,負(fù)責(zé)從Kafka通道中獲取數(shù)據(jù),然后寫入目的端MongoDB數(shù)據(jù)庫。

下圖是MongoDB云上災(zāi)備和多活內(nèi)部系統(tǒng)的整體架構(gòu)圖,其中Tunnelkafka實(shí)現(xiàn)。

全量加增量

同步模型采用全量+增量的方式,即在創(chuàng)建實(shí)例時(shí)對(duì)源數(shù)據(jù)庫進(jìn)行全量數(shù)據(jù)同步,后續(xù)的修改通過增量數(shù)據(jù)來同步。

雙活以及多活模型

由于數(shù)據(jù)復(fù)制是異步方式,所以對(duì)于雙活或者多活模式,由用戶端保證不會(huì)對(duì)同一個(gè)唯一鍵同時(shí)進(jìn)行修改。

同時(shí)修改同一個(gè)唯一鍵可能導(dǎo)致數(shù)據(jù)錯(cuò)亂,目前的沖突解決策略為覆蓋(后面修改的數(shù)據(jù)覆蓋前面的數(shù)據(jù))或者忽略。

高效性保證

以下三條策略實(shí)現(xiàn)實(shí)例間數(shù)據(jù)同步的高效性:

  • 從源數(shù)據(jù)庫并行拉取數(shù)據(jù),并解決沖突依賴。

  • 將源數(shù)據(jù)庫數(shù)據(jù)并行發(fā)往Kafka通道。

  • 將數(shù)據(jù)并行寫入目的端數(shù)據(jù)庫,同時(shí)解決依賴問題。

因地域和網(wǎng)絡(luò)類型不同,實(shí)例間的數(shù)據(jù)同步延遲也不同。MongoDB云上災(zāi)備和多活產(chǎn)品理論TPS能夠接近20萬,即每秒傳輸20萬條Oplog。為保證數(shù)據(jù)批量傳輸?shù)母咝裕瑪?shù)據(jù)發(fā)送過程中有緩存機(jī)制,少量數(shù)據(jù)的同步延遲可能超過5秒。

環(huán)形復(fù)制

為防止環(huán)形復(fù)制(數(shù)據(jù)從源復(fù)制到目的,又從目的復(fù)制到源),我們?cè)?span id="z68uejxpaoma" class="help-letter-space">Oplog日志中加入gid來解決環(huán)形復(fù)制問題。

可靠性傳輸

支持?jǐn)帱c(diǎn)續(xù)傳,實(shí)例重啟時(shí)數(shù)據(jù)同步不受影響。

高可用

鏈路同步具有高可用性,如果同步進(jìn)程出錯(cuò),備用進(jìn)程啟動(dòng)接管服務(wù)。

限制說明

  • 目前僅副本集實(shí)例支持云上災(zāi)備功能,單節(jié)點(diǎn)實(shí)例和分片集群實(shí)例暫不支持。

  • 源實(shí)例數(shù)據(jù)庫版本須是3.2版本或3.4版本,暫不支持4.0版本。

  • 源實(shí)例存儲(chǔ)引擎必須是WiredTiger。

  • 暫不支持在兩個(gè)已有MongoDB實(shí)例之間直接搭通道同步數(shù)據(jù)。

  • 數(shù)據(jù)同步時(shí),源實(shí)例會(huì)重啟一次,重啟過程中將gid加入Oplog中。如果源實(shí)例過大,重啟時(shí)間將會(huì)達(dá)到分鐘級(jí)。

  • 實(shí)例同步后,不支持DDL同步。如果在源實(shí)例上進(jìn)行了DDL操作,目的實(shí)例將無法同步源實(shí)例的DDL操作。

  • 當(dāng)前只支持雙活功能,即兩個(gè)MongoDB實(shí)例之間同步數(shù)據(jù)。

支持云上災(zāi)備產(chǎn)品的區(qū)域

以下區(qū)域中的實(shí)例支持實(shí)例間的數(shù)據(jù)同步,可以跨越城市或者國家,例如上海和新加坡。

  • 中國內(nèi)地

    地域名稱

    所在城市

    Region ID

    華北 1

    青島

    cn-qingdao

    華北 2

    北京

    cn-beijing

    華東 1

    杭州

    cn-hangzhou

    華東 2

    上海

    cn-shanghai

    華南 1

    深圳

    cn-shenzhen

  • 其他國家和地區(qū)

    地域名稱

    所在城市

    Region ID

    中國(香港)

    中國香港

    cn-hongkong

    美國西部

    硅谷

    us-west-1

    美國東部

    弗吉尼亞

    us-east-1