一文揭秘阿里雲Redis全球多活產品

2021-08-26 14:43:54 字數 1874 閱讀 3867

簡介

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 關鍵業務,依託...