請問異地多活的實現中,怎麼實現資料同步和保證資料一致性?

時間 2021-05-06 05:25:00

1樓:Bob架構師之路

異地多活容災方案中,最重要的乙個要點就是這多地的實際光纖距離。注意不是地理距離,也不是直線距離,而是光纖距離。

因為由於線路鋪設的問題,兩個資料中心之間的實際光纖距離要大於地理距離,甚至要遠遠大於地理距離。這就會導致乙個問題:乙個IO從生產中心同步到異地容災中心,資料在光纖裡跑一圈(資料送過去,還要返回來乙個應答)需要多少的延遲?

由於光在光纖裡傳播的距離不是30萬公里每小時,而是20萬。因此即使是理論計算100KM的距離也要有2ms以上的延遲。如果光纖鏈路質量再差一點的話,那延遲就更離譜了。

這也就是為什麼兩個資料中心之間如果距離超過30KM,基本就不建議採用同步容災機制的技術原理了。

所以理論上將,對於異地多活方案來說,在技術上還是放棄同步技術吧,採用非同步技術雖然RPO!=0.但是只要是在乙個可控的範圍內,依然是十分有意義的。

強一致性可以通過同機房的高可靠來保證,畢竟切換是乙個小概率實踐。如果乙個單位聯高可靠都沒做好,指望著通過容災來實現業務連續性也是不怎麼靠譜的。

另外在非同步解決方案方面,可以選擇的方案還是挺多的。從基礎架構層面,到資料庫層面,再到作業系統及應用層面都有不少。優缺點見仁見智。

總體上來說越向底層方案越通用,越向上層方案面就越窄。但越向底層對裝置的依賴性就越強,約向上層對軟體的依賴性就越強。這一點,方方面面仔細想好,認真把握就行。

2樓:

資料是有業務場景的特徵,從業務角度分析是正道。針對金融領域或交易場景的異地多活架構下追求備份資料和原資料間的確定性是正解,也就是知道備用資料哪部分是準確的,而非一致性。 準確性是目標,強一致性演算法只是手段之一,確定性是更貼合具體業務場景的手段,更靈活。

3樓:realzyy

異地不要追求資料完全一致,RPO合理就行。

不然就等著各種不靠譜的技術方案和無底洞一般的資金投入吧。

但是同城是有RPO為0且RTO極高的方案,三機房加raft協議可以做到。

4樓:餘公尺知

MySQL 三節點企業版:https://

5樓:劉偉

我們所看到的光,是很多年之前其他星球飛過來,我們所感受到的重力,也是經過乙個時間段後所感知到的,目前宇宙中除了猜測中的量子干涉外,同一件事情在兩地是不可能同時發生的,這是物理限制。

實際活動中,一般意義上的多活,其實是乙個資料中心寫,其他資料中心同步資料,這種同步可以在訊息佇列層或者RPC層,或者資料庫層,誇張點的儲存層,都可以做到非同步,或者一定意義上的同步。

把單寫多讀的結構,根據一定分割槽規則比如省市放在指定分割槽機房,加上省市機房之間的同步,就是目前一般意義上,可以做到的所謂多活。

部分答題說分布式演算法,但實際上應用過程中,分布式演算法對延遲的要求,直接決定了目前現有的分布式的各種結構,基本上都只能在同一機房或者比較近的同城機房,要跨個省,碰到挖掘機挖線的概率,還是蠻高的。

參考文章中提到的,並沒有脫離上述的東西,但其中很多東西,是目前只有阿里搞出來的,或者說只有阿里是公開講的(這點意義上,阿里功德無量)。

關於提到的延遲問題,首先文中已經交代的是單點寫,可以肯定會有乙個延遲(現在已經是2023年了,通過種種手段,做到1s內延遲的通用方案很多了已經),對一致性要求比較低(絕大多數需求)完全可以讀從機房,而有非常高一致性需求的,可以讀主機房,另外,主機房裡面也可以搞分布式的讀寫強一致分離,保證主機房的壓力承載能力。

6樓:

第乙個問題資料同步乙個是檔案級別,乙個是資料庫級別,資料庫就是log,基本上中介軟體,然後replay,檔案直接對拷,venders多得是。第二個問題,網際網路金融對實效性的要求沒你想的那麼高,針對不同的業務場景定製不同的服務水平協議即可。關於資料同步的延遲,現在業務高峰時段可以達到5s內,使用者感覺不出來是哪個站點的。

7樓:

聽說阿里的異地同活並不是我們想的那樣時刻保證異地一致的。有個時間視窗,在這個視窗裡是不一致的。這個視窗就是阿里可以承受的金額損失。

理論上如果崩潰了,視窗裡的金額是會被消費掉而無法發現的,只能靠對賬發現。如果這個視窗為0就是異地同活而且二地的資料完全同步,那麼這個延遲就會是最大的,相當於在二地分別執行一次。

完全聽說。

當然可以用簡單的等待和切換前 redo來解決這個視窗的影響,但是這就不能叫異地同活。通常我們認為的同活是指可以立刻切過去。當然還可能存在兩個idc無法連通的情況。

這種情況,這個視窗就無法消除了,當然到底怎麼樣,只有阿里自己的人知道,是不是他們重新定義了異地同活,那就不得而知了。

請問這種海報是怎麼用ai ps實現的?

這個問題太神奇了,引出真正的能力者回答問題,高讚說明了該問題的關注度,回答者只有寥寥數字,看來有些問題的卻是不容許誤人子弟還有胡亂裝逼的哈哈哈。 夢符佳月 跑個題哈,用grasshopper做 首先畫圓,並以等差數列為半徑。在圓上取等分點,終點要再取一次,merge合併,備用 曲線上所有的等分點都豎...

請問各位前輩和有識之士,我該怎麼實現自己的目標。

使用者5364014805 1,看了你的故事,覺得已經很努力的在生活了,我要向你學習這一優點。其實很多事都是積累到一定程度才會有所成就,每個人都有無窮的慾望,過想過的生活。2,要尋找突破就要解決自己面臨的問題?機會是留給有準備的人,每個人的成功都不是隨隨便便的,是需要時間的沉澱,天時地利人和。有時候...

等保2 0中的可信驗證具體是怎麼實現?

你的朋友 可信還需要人員全程參與,安全管理中心制定可信策略,出現非業務所必須的非授權事件 主體,客體,操作,環境 會認為這是不可信,進行切斷報警。這樣就要求單位要有一定的技術力量,能夠把規則梳理清楚,制定安全策略,同時對於系統的開發也需要很高的要求,系統一定要開發的規範。 祝三歲 中級等級測評師現場...