異地多活(異地雙活)是最近業界討論比較多的話題,特別是前一陣子支付寶機房光纖故障和攜程網資料庫丟失之後,更加喚起了技術人員們對異地容災的考慮。
而異地多活比異地容災更高一級,因為異地容災僅僅是乙個冷備的概念,而異地多活卻是指有兩個或者多個可以同時對外服務的節點,任意乙個點掛了,也可以迅速切換到其他節點對外服務,節點之間的資料做到準實時同步。
網上看了很多技術分享,總結了以下實踐經驗:
1 如果業務量不大,沒必要做異地多活,因為異地多活需要的運維資源成本、開發成本都非常高;
2 注意機房間的延時問題,延時大的可能達到100ms以上,如果業務需要多次跨機房請求應用的話,延遲的問題會徹底放大;
3 跨機房的專線很大概率會出問題,要做好運維或者程式層面的容錯;
4 不能依賴mysql雙寫,必須有適應自身業務的跨機房訊息同步方案;
5 mysql或者其他儲存的資料同步問題,在高延時和較差的網路質量的情況下,考慮如何保證同步質量;
6 核心業務和次要業務需要分而治之,異地多活的業務形式越簡單越好,甚至可以只做核心業務;
7 異地多活的監控、部署、測試等流程也要跟上;
8 在業務允許的情況下,考慮使用者分割槽,特別是遊戲、郵箱業務比較容易做到;
9 控制跨機房訊息體大小,越小越好;
10 考慮使用docker等容器虛擬化技術,提高動態排程能力;
mysql異地多活方案 對於異地多活的實踐與思考
對於異地多活的實踐與思考 瀏覽次數 707 一 引 異地多活是近幾年比較熱門的乙個話題,那麼在實際業務中什麼時候需要去做這件事?如何去做?做的時候需要考慮什麼?1 何時去做?個人感覺取決於以下幾個方面 業務發展 基礎設施狀況 技術積澱 2 如何做?目前在網上搜尋到的異地多活方案來看,基本都是阿里 餓...
mysql異地多活方案 聊聊多活
隨著業務量的增加,一次大區故障可能影響幾億人的使用,所以公司對於故障的容忍率越來越低。對了避免出現由於由於乙個機房入口光纜被挖斷或者機房停電導致服務不可用,所以很多公司做了多活。多活目前分 1.同城 異地多活 2.單元化部署 還有一種單元化的概念,把使用者按照id或者地理圍欄分段,每個段內的使用者資...
mysql異地多活方案 資料庫異地多活解決方案
異地多活指分布在異地的多個站點同時對外提供服務的業務場景。異地多活是高可用架構設計的一種,與傳統的災備設計的最主要區別在於 多活 即所有站點都是同時在對外提供服務的。以乙個簡單的業務單元的it系統為例,整個it系統的異地多活方案如下圖所示。整個方案將各站點分為 分流量層 應用層和資料層。單元封閉 應...