Redis 到 Redis 數(shù)據(jù)遷移同步

簡述

Redis 是一個開源的高性能內(nèi)存數(shù)據(jù)庫功蜓,支持鍵值對和多種數(shù)據(jù)結(jié)構(gòu)(如字符串、列表宠蚂、集合式撼、哈希等),常用于緩存求厕、實時數(shù)據(jù)處理和分布式鎖著隆。它提供持久化、主從復制和高可用集群功能呀癣,適用于高并發(fā)低延遲場景美浦。

本文主要介紹如何通過 CloudCanal 實現(xiàn) Redis 到 Redis 數(shù)據(jù)遷移同步。

技術(shù)點

基于 PSync 協(xié)議同步

CloudCanal 基于 PSync 協(xié)議實現(xiàn) Redis 到 Redis 的數(shù)據(jù)同步项栏,同步流程如下:

  1. CloudCanal 與 Redis Master 建立 Socket 長連接浦辨。
  2. 發(fā)送 Auth 命令驗證身份(如果有)。
  3. CloudCanal 向 Redis Master 發(fā)送 PSync 命令沼沈,偽裝成一個 Redis Slave 節(jié)點流酬。
  4. Redis Master 節(jié)點持續(xù)向 CloudCanal 偽裝的 Redis Slave 節(jié)點推送 二進制數(shù)據(jù)流币厕。
  5. CloudCanal 將二進制數(shù)據(jù)流解析為 Redis 命令,發(fā)送給目標端執(zhí)行芽腾。

雙向同步防循環(huán)能力

CloudCanal 采用輔助命令實現(xiàn) Redis 之間的雙向同步防循環(huán)旦装。

當收到正常指令,CloudCanal 計算其 hash 值晦嵌,構(gòu)建輔助指令 Key同辣,反向查詢輔助指令是否存在,如果存在則為循環(huán)惭载。隨后旱函,CloudCanal 反向刪除對應輔助命令,如果刪除成功描滔,過濾即可棒妨。

對于對端寫入以及源端查詢輔助指令,CloudCanal 進行了批量和多線程優(yōu)化含长,同步性能得到有效提升券腔。

過濾超大 Key 能力

在實際的 Redis 業(yè)務使用中,由于歷史遺留問題或維護不當拘泞,可能會出現(xiàn)一些體積過大的 Key纷纫。

在數(shù)據(jù)同步場景下,這些超大 Key 容易引發(fā)任務同步異常陪腌。CloudCanal 提供了靈活的任務參數(shù)配置辱魁,支持過濾超出指定大小的 Key。

操作示例

步驟 1: 安裝 CloudCanal

請參考 全新安裝(Docker Linux/MacOS)诗鸭,下載安裝 CloudCanal 私有部署版本染簇。

步驟 2: 添加數(shù)據(jù)源

登錄 CloudCanal 控制臺,點擊 數(shù)據(jù)源管理 > 新增數(shù)據(jù)源 强岸。

步驟 3: 創(chuàng)建任務

  1. 點擊 同步任務 > 創(chuàng)建任務锻弓。

  2. 配置源和目標數(shù)據(jù)源。

    1. 選擇源和目標實例蝌箍,并分別點擊 測試連接青灼。
    2. 在源端實例下方 高級配置 中選擇 啟用 DB 映射 :是/否。當啟用 DB 映射時十绑,需要確保源端 Redis 實例與目標端 Redis 實例 DB 數(shù)量相同聚至。
  3. 選擇 數(shù)據(jù)同步 并勾選 全量初始化

  4. 點擊 確認創(chuàng)建本橙。

    任務創(chuàng)建過程將會進行一系列操作,點擊 同步設置 > 異步任務脆诉,找到任務的創(chuàng)建記錄并點擊 詳情 即可查看甚亭。

    Redis 源端的任務創(chuàng)建會有以下幾個步驟:

    • 分配任務執(zhí)行機器
    • 創(chuàng)建任務狀態(tài)機
    • 完成任務創(chuàng)建
  1. 等待任務自動流轉(zhuǎn)贷币。

    當任務創(chuàng)建完成,CloudCanal 會自動進行任務流轉(zhuǎn)亏狰,其中的步驟包括:

    • 全量數(shù)據(jù)遷移: 已存在的存量數(shù)據(jù)將會完整遷移到對端役纹。
    • 增量數(shù)據(jù)同步: 增量數(shù)據(jù)將會持續(xù)地同步到對端數(shù)據(jù)庫,并且保持實時(秒級別延遲)暇唾。

總結(jié)

本文簡單介紹了如何使用 CloudCanal 進行 Redis 到 Redis 數(shù)據(jù)遷移同步促脉,打通數(shù)據(jù)流動的渠道,實現(xiàn)端到端的精準數(shù)據(jù)傳輸策州。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末瘸味,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子够挂,更是在濱河造成了極大的恐慌旁仿,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,348評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件孽糖,死亡現(xiàn)場離奇詭異枯冈,居然都是意外死亡,警方通過查閱死者的電腦和手機办悟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評論 2 385
  • 文/潘曉璐 我一進店門尘奏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人病蛉,你說我怎么就攤上這事炫加。” “怎么了铡恕?”我有些...
    開封第一講書人閱讀 156,936評論 0 347
  • 文/不壞的土叔 我叫張陵琢感,是天一觀的道長。 經(jīng)常有香客問我探熔,道長驹针,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,427評論 1 283
  • 正文 為了忘掉前任诀艰,我火速辦了婚禮柬甥,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘其垄。我一直安慰自己苛蒲,他們只是感情好,可當我...
    茶點故事閱讀 65,467評論 6 385
  • 文/花漫 我一把揭開白布绿满。 她就那樣靜靜地躺著臂外,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上漏健,一...
    開封第一講書人閱讀 49,785評論 1 290
  • 那天嚎货,我揣著相機與錄音,去河邊找鬼蔫浆。 笑死殖属,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的瓦盛。 我是一名探鬼主播洗显,決...
    沈念sama閱讀 38,931評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼原环!你這毒婦竟也來了挠唆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,696評論 0 266
  • 序言:老撾萬榮一對情侶失蹤扮念,失蹤者是張志新(化名)和其女友劉穎损搬,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體柜与,經(jīng)...
    沈念sama閱讀 44,141評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡巧勤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,483評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了弄匕。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片颅悉。...
    茶點故事閱讀 38,625評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖迁匠,靈堂內(nèi)的尸體忽然破棺而出剩瓶,到底是詐尸還是另有隱情,我是刑警寧澤城丧,帶...
    沈念sama閱讀 34,291評論 4 329
  • 正文 年R本政府宣布延曙,位于F島的核電站,受9級特大地震影響亡哄,放射性物質(zhì)發(fā)生泄漏枝缔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,892評論 3 312
  • 文/蒙蒙 一蚊惯、第九天 我趴在偏房一處隱蔽的房頂上張望愿卸。 院中可真熱鬧,春花似錦截型、人聲如沸趴荸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽发钝。三九已至顿涣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間笼平,已是汗流浹背园骆。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工舔痪, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留寓调,地道東北人。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓锄码,卻偏偏與公主長得像夺英,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子滋捶,可洞房花燭夜當晚...
    茶點故事閱讀 43,492評論 2 348

推薦閱讀更多精彩內(nèi)容