[發明專利]Redis-canal跨機房緩存同步系統在審
| 申請號: | 202011120648.4 | 申請日: | 2020-10-19 |
| 公開(公告)號: | CN112422628A | 公開(公告)日: | 2021-02-26 |
| 發明(設計)人: | 錢宇煒;馬頌華;陳裕頲;黃嶠睿;任齡明;毛震鵬;吳振;嚴永峰 | 申請(專利權)人: | 天翼電子商務有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 102200 北京市昌平*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | redis canal 機房 緩存 同步 系統 | ||
1.Redis-canal跨機房緩存同步系統,其特征在于,基于Redis的復制協議實現,使用PSYNC命令實時獲取Redis主節點所產生的寫命令,并通過同步系統將命令在目標端機房進行重放,整個系統分為三層:控制臺Apollo、節點發現和數據保留層ZK、數據同步層Redis-canal,其中,控制臺Apollo負責任務配置、啟動及關閉任務,跨機房集群部署;ZK為各機房獨立部署,負責Redis-Canal節點的注冊發現、任務調度及同步任務數據收集;Redis-Canal是Redis同步任務的最終執行者,包括canal和sync兩個模塊;Canal負責監聽及解析redis節點命令;Sync負責redis命令跨機房寫入,并處理循環復制問題;所述Redis-canal是基于Redis的復制協議PSYNC命令進行開發的,通過將自己偽裝成Redis的一個SLAVE節點,從而監聽并獲得本機房中MASTER節點的Redis的所有操作命令,最后把這些監聽到的命令在異地機房的Redis中進行重放,從而完成同步任務;并且通過優化重放算法,避免機房間出現循環復制的情況;PSYNC命令具有完整重同步和部分重同步兩種模式:
完整重同步用于處理初次復制情況:完整重同步的執行步驟和SYNC命令的執行步驟基本一樣,它們都是通過讓主服務器創建并發送RDB文件,以及向從服務器發送保存在緩沖區里面的寫命令來進行同步;
部分重同步則用于處理斷線后重復制情況:當從服務器在斷線后重新連接主服務器時,如果條件允許,主服務器可以將主從服務器連接斷開期間執行的寫命令發送給從服務器,從服務器只要接收并執行這些寫命令,就可以將數據庫更新至主服務器當前所處的狀態;
所述部分重同步功能由以下三個部分構成:
主服務器的復制偏移量和從服務器的復制偏移量;
主服務器的復制積壓緩沖區;
服務器的運行ID;
部分重同步功能中執行復制的雙方為主服務器和從服務器會分別維護一個復制偏移量:
主服務器每次向從服務器傳播N個字節的數據時,就將自己的復制偏移量的值加上N;
從服務器每次收到主服務器傳播來的N個字節的數據時,就將自己的復制偏移量的值加上N;
通過對比主從服務器的復制偏移量,程序可以很容易地知道主從服務器是否處于一致狀態;如果主從服務器處于一致狀態,那么主從服務器兩者的偏移量總是相同的;相反,如果主從服務器兩者的偏移量并不相同,那么說明主從服務器并未處于一致狀態。
2.根據權利要求1所述的Redis-canal跨機房緩存同步系統,其特征在于,所述復制積壓緩沖區是由主服務器維護的一個固定長度先進先出隊列,默認大小為1MB;和普通先進先出隊列隨著元素的增加和減少而動態調整長度不同,固定長度先進先出隊列的長度是固定的,當入隊元素的數量大于隊列長度時,最先入隊的元素會被彈出,而新元素會被放入隊列;當主服務器進行命令傳播時,它不僅會將寫命令發送給所有從服務器,還會將寫命令入隊到復制積壓緩沖區里面;因此,主服務器的復制積壓緩沖區里面會保存著一部分最近傳播的寫命令,并且復制積壓緩沖區會為隊列中的每個字節記錄相應的復制偏移量;當從服務器重新連上主服務器時,從服務器會通過PSYNC命令將自己的復制偏移量offset發送給主服務器,主服務器會根據這個復制偏移量來決定對從服務器執行何種同步操作,如下所示:
如果offset偏移量之后的數據仍然存在于復制積壓緩沖區里面,那么主服務器將對從服務器執行部分重同步操作;
相反,如果offset偏移量之后的數據已經不存在于復制積壓緩沖區,那么主服務器將對從服務器執行完整重同步操作。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于天翼電子商務有限公司,未經天翼電子商務有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011120648.4/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種防卡頓的砌塊機的布料車總成
- 下一篇:一種珠光體鋼軌及其制備方法





