中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Redis故障轉移流程是什么意思

發布時間:2021-06-25 11:47:26 來源:億速云 閱讀:194 作者:chen 欄目:大數據

本篇內容介紹了“Redis故障轉移流程是什么意思”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

Redis-sentinel故障轉移流程

  1. sentinel初始化


    • 初始化sentinel狀態里的masters屬性

    • 創建連向各個master的網絡連接(命令連接、訂閱連接)

  1. sentinel向配置的masters發送info命令(每10秒):獲取master及slave信息


    • 更新master實例結構

    • 更新master實例結構里的slave信息

    • 創建連向各個slave的網絡連接(命令連接、訂閱連接)

  1. sentinel向slaves發送info命令(每10秒):獲取slave信息


    • 更新master實例結構里的slave信息

  1. sentinel向所有的master和slave的__sentinel__:hello頻道發布消息(每2秒):

  2. sentinel訂閱主從服務器的頻道信息:獲取其他sentinel信息


    • 更新master實例結構里的sentinels信息

    • 創建連向各個sentinel的網絡連接(命令連接)

  1. sentinel向所有已知的master/slave/sentinel發送ping命令(每1秒):心跳檢測

  2. 主觀下線:節點在down-after-milliseconds均未返回有效回復


    • 更新master實例結構的flags屬性:SRI_S_DOWN

    • 不同sentinel設置的主觀下線時長可能不同:down-after-milliseconds

    • 向同樣監控該master的其他sentinel發送下線詢問命令:SENTINEL is-master-down-by-addr <ip> <port> <current_epoch>0 <runid>*

  1. 客觀下線:主觀下線的sentinel數量達到quorum


    • 不同sentinel設置的quorum可能不同

  1. sentinel選主


    • raft算法

    • 進入客觀下線的sentinel,向其他sentinel發送SENTINEL is-master-down-by-addr <ip> <port> <current_epoch> <runid>

    • 當runid不是*而是源sentinel的運行ID時,表明源sentinel要求目標sentinel將自己設為局部leader

    • 設置局部leader的規則是先到先得

    • 票數大于半數,則成為leader

  1. sentinel leader做故障轉移:連接斷開時間、優先級、offset、run_id

  2. sentinel leader向選舉出來的slave發送slaveof no one命令,變成leader

  3. sentinel leader向其他slave發送命令,使其轉為新leader的slave

  4. sentinel leader對舊master做心跳檢測,當其恢復后使其轉為新leader的slave

Redis-cluster故障轉移流程

  1. node加入集群后,使用gossip算法完成集群中信息同步

  2. node與集群中所有主節點互相做心跳檢測

  3. 疑似下線

  4. 已下線(半數主節點)

  5. 廣播node fail的消息

  6. 故障轉移


    • 故障node的從節點選主,投票人是集群中的主節點

    • 新的節點升級為主節點

    • 撤銷已下線主節點的槽指派,并全部指派給自己

    • 廣播PONG消息,通知集群新的主節點,及槽指派

  1. 舊的主節點恢復后,成為新的主節點的slave

“Redis故障轉移流程是什么意思”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

清丰县| 崇阳县| 左贡县| 阳城县| 栖霞市| 东宁县| 吕梁市| 高碑店市| 喀什市| 米林县| 江北区| 安吉县| 息烽县| 襄垣县| 荣成市| 柯坪县| 乐清市| 许昌县| 梅州市| 成都市| 甘洛县| 全州县| 电白县| 菏泽市| 泰兴市| 扎鲁特旗| 鹤岗市| 宝坻区| 大荔县| 德钦县| 祁门县| 永济市| 洛浦县| 安徽省| 马龙县| 乳山市| 佛坪县| 金湖县| 越西县| 永清县| 望城县|