簡介
redis全球多活產品是阿里雲自研、基於雲資料庫redis版(apsaradb for redis)、100%相容 redis 協議的多活資料庫系統。通過資料同步通道,把多個redis例項組網成1個邏輯上的 redis 多活例項,多活例項內的所有例項均可讀寫並保持實時資料同步。資料同步通道通過內網打通,具有高可靠、高安全,低延遲的特性。子例項間通過crdt(conflict-free replicated data type)機制檢測並解決資料衝突,保障資料最終一致性。redis全球多活產品輕鬆支援異地多個站點同時對外提供服務的業務場景,助力企業快速複製阿里巴巴異地多活架構。
目前阿里雲redis全球多活產品已開放售賣,相關產品介紹詳見
產品架構
redis多活例項由三部分構成:
雲資料庫 redis 版例項
同步通道
通道管理器
雲資料庫 redis 版例項
原生核心的日誌機制比較簡單,不足以支撐多活相互複製資料,我們對aof日誌改造為binlog,把每一條aof日誌擴充套件為oplog:
每條oplog包含乙個全域性唯一id(類似mysql的gtid),id包含兩部分, 一部分是redis例項id,用於解決迴圈同步的問題,第二部分是遞增數字,保證有序和唯一。
oplog包含邏輯時鐘資訊,在目標端redis 執行merge時,使用crdt策略解決資料一致性問題。
通道每兩個redis例項間有負責同步oplog的雙向通道,同步過程根據oplog gtid保證exactly once語義,並且能處理 上下游redis例項異常(主備切換、備庫重搭)。
通道管理器
負責通道生命週期管理
產品優勢
高可用同步支援斷點續傳,最高可以容忍天級別的隔斷。
自適應處理上下游 redis 子例項發生ha(主備切換)的情況。
高效能多活同步的過程是非同步的,對正常的redis讀寫沒有效能影響。
高吞吐:標準版單向同步通道10萬tps,集群版隨 redis 節點數線性擴充套件。
低延遲:1個洲際內地域間資料同步延遲在百毫秒級,跨洲際地域間延遲在1秒級。
資料最終一致
在多活場景中, 由於存在多個例項且每個例項都可讀寫,則在同步過程中,一定會遇到資料一致性問題。如下圖,同時在redis例項a上寫入key value_a,在redis例項b上寫入key value_b,互相同步之後很可能例項a上key的值為value_b,而例項b上key的值為value_a,這種不一致可能是業務上是不能接受的。
我們基於crdt(conflict-free replicated data type)的方案,對redis核心進行針對性改造,實現了string、counter、hash、set、zset、hyperloglog、geo幾種資料型別的最終一致性.
功能豐富
多活支援redis標準版,集群版和讀寫分離版。
在多活同步過程中支援 redis 子例項規格變配。
支援新增和刪除redis子例項。
應用場景
redis 多活產品主要應用於異地多活業務架構的儲存層,業務層設計可以參考文件《資料庫異地多活解決方案》。
原文
一文了解阿里雲CDN HTTP2 0
要了解http2.0,先了解一下http超文字傳輸協議的歷史 hypertext transfer protocol 這是為了實現網際網路上內容傳輸提出的協議,其歷史伴隨著網際網路的發展。整個http協議發展歷程如下 一句話介紹 http 0.9 基於get請求的文字傳輸協議 https 安全的ht...
一文了解阿里雲CDN HTTP2 0
要了解http2.0,先了解一下http超文字傳輸協議的歷史 hypertext transfer protocol 這是為了實現網際網路上內容傳輸提出的協議,其歷史伴隨著網際網路的發展。整個http協議發展歷程如下 一句話介紹 http 0.9 基於get請求的文字傳輸協議 https 安全的ht...
一文了解南京雲棲阿里雲重磅產品發布
摘要 關於數位化轉型需要做什麼事情?昨天,雲棲大會 南京峰會期間,我們講了很多案例。近年來,在驅動中國的使命下,城市 交通 金融 工業 農業等各個領域都在不斷創新。在這個過程當中,雲計算大資料的產品發揮了非常重要的作用。sap雲解決方案 sap雲解決方案支援企業在阿里雲上部署 sap 關鍵業務,依託...