亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

Redis中主從復制和哨兵模式的示例分析

發布時間:2021-01-26 11:35:21 來源:億速云 閱讀:153 作者:小新 欄目:關系型數據庫

這篇文章給大家分享的是有關Redis中主從復制和哨兵模式的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

主從復制指的是把一臺Redis服務器的數據復制到其他Redis服務器上,前者稱為主節點Master,后者稱為從節點Slave,只能從Master單向復制到Slave,一般Master以寫操作為主,Slave以讀操作為主,實現讀寫分離。

作用

  1. 數據冗余:主從復制實現了數據的熱備份,是持久化之外的一種數據冗余方式。

  2. 故障恢復:當主節點出現問題時,可以由從節點提供服務,實現快速的故障恢復;實際上是一種服務的冗余。

  3. 負載均衡:在主從復制的基礎上,配合讀寫分離,可以由主節點提供寫服務,由從節點提供讀服務(即寫Redis數據時應用連接主節點,讀Redis數據時應用連接從節點),分擔服務器負載;尤其是在寫少讀多的場景下,通過多個從節點分擔讀負載,可以大大提高Redis服務器的并發量。

  4. 高可用基石:除了上述作用以外,主從復制還是哨兵和集群能夠實施的基礎,因此說主從復制是Redis高可用的基礎。

命令

命令作用
slaveof host port將當前服務器轉變為指定服務器的從屬服務器。如果已是slave則停止對舊主服務器的同步,丟棄舊數據集,轉而開始對新主服務器進行同步。SLAVEOF NO ONE將使得這個從屬服務器關閉復制功能,并從從屬服務器轉變回主服務器,原來同步所得的數據集不會被丟棄。
info [section]INFO命令以一種易于理解和閱讀的格式,返回關于Redis服務器的各種信息和統計數值。通過給定可選的參數section,可以讓命令只返回某一部分的信息:

配置

以單機多服務為例(正常是多機多服務,然我只有一臺服務器)

首先每個redis客戶端都默認是主機,可以通過info replication命令查看。
Redis中主從復制和哨兵模式的示例分析

那么我們現在要同時開三個客戶端,模擬一主兩從,所以要修改配置:

  1. 修改端口號

  2. 修改pid名字

  3. 修改log名字

  4. 修改rdb名字

  5. 設置主機連接(可不選,用命令行)

先拷貝兩份配置文件作為從機配置,主機可使用默認。
Redis中主從復制和哨兵模式的示例分析
以redis80.conf為例依次修改上述五點配置,81只改前四點。
Redis中主從復制和哨兵模式的示例分析Redis中主從復制和哨兵模式的示例分析
Redis中主從復制和哨兵模式的示例分析Redis中主從復制和哨兵模式的示例分析
然后啟動他們(79、80、81)
Redis中主從復制和哨兵模式的示例分析
Redis中主從復制和哨兵模式的示例分析
Redis中主從復制和哨兵模式的示例分析
設置主從:

  1. 80是在配置文件設置(永久式)好的,直接查看:
    Redis中主從復制和哨兵模式的示例分析

  2. 81沒有配置,可以手動命令行設置
    Redis中主從復制和哨兵模式的示例分析

此時查看79(master):
Redis中主從復制和哨兵模式的示例分析

復制原理


全量復制

從機每次連接主機時會全量復制,把主機的全部數據復制到從機。

增量復制

從機連上主機后,對于主機后面更新的數據,會只針對這部分數據同步更新給從機。

測試

  1. 從機默認只讀,會增量復制同步主機的數據:
    Redis中主從復制和哨兵模式的示例分析
    Redis中主從復制和哨兵模式的示例分析
    Redis中主從復制和哨兵模式的示例分析

  2. 主機宕機情況:
    Redis中主從復制和哨兵模式的示例分析Redis中主從復制和哨兵模式的示例分析
    Redis中主從復制和哨兵模式的示例分析
    Redis中主從復制和哨兵模式的示例分析
    Redis中主從復制和哨兵模式的示例分析
    3.從機宕機情況:
    Redis中主從復制和哨兵模式的示例分析
    Redis中主從復制和哨兵模式的示例分析
    Redis中主從復制和哨兵模式的示例分析
    Redis中主從復制和哨兵模式的示例分析
    Redis中主從復制和哨兵模式的示例分析

嵌套主從


如圖79是80的主機,而80又是81的主機,這種嵌套主從關系。
Redis中主從復制和哨兵模式的示例分析
Redis中主從復制和哨兵模式的示例分析
Redis中主從復制和哨兵模式的示例分析

Redis中主從復制和哨兵模式的示例分析
Redis中主從復制和哨兵模式的示例分析
Redis中主從復制和哨兵模式的示例分析
Redis中主從復制和哨兵模式的示例分析

哨兵模式


上面的80上位和嵌套主從都是我們手動命令行輸入的,其目的就是避免主機宕機后寫操作的空窗期,這些都是需要人工干預。
哨兵Sentinel會作為一個獨立的進程獨立運行,其原理是哨兵通過發送命令,等待Redis服務器響應,從而監控運行的多個Redis服務器。
如果哨兵檢測到主機下線,則會選一個從機「上位」(自動故障遷移)成為新的主機。如果原主機上線,原主機將變成新主機的從機。其原理是通過發布訂閱模式通知其他服務器,修改配置文件,從而切換主機。
Redis中主從復制和哨兵模式的示例分析
如果哨兵宕機怎么辦?可以使用多哨兵模式來互相監控。
Redis中主從復制和哨兵模式的示例分析
圖片摘自https://www.jianshu.com/p/06ab9daf921d,侵刪

  • 主觀下線(Subjectively Down, 簡稱 SDOWN)指的是單個哨兵實例對服務器做出的下線判斷。

  • 客觀下線(Objectively Down, 簡稱 ODOWN)指的是多個哨兵實例在對同一個服務器做出主觀下線判斷, 并且通過 SENTINEL is-master-down-by-addr 命令互相交流之后, 得出的服務器下線判斷。

當主機客觀下線后,哨兵會投票出新的主機(具體算法略 ),進行自動故障遷移(failover),通過發布訂閱通知其他服務器切換主機。

配置哨兵

首先在安裝目錄下有一個詳細注解的哨兵配置:
Redis中主從復制和哨兵模式的示例分析
新建sentinel.conf來監視6379,其余默認即可:
Redis中主從復制和哨兵模式的示例分析
啟動哨兵:
Redis中主從復制和哨兵模式的示例分析
Redis中主從復制和哨兵模式的示例分析

測試

Redis中主從復制和哨兵模式的示例分析
Redis中主從復制和哨兵模式的示例分析
Redis中主從復制和哨兵模式的示例分析
Redis中主從復制和哨兵模式的示例分析
Redis中主從復制和哨兵模式的示例分析
Redis中主從復制和哨兵模式的示例分析
Redis中主從復制和哨兵模式的示例分析
Redis中主從復制和哨兵模式的示例分析
多哨兵模式,配置不同端口的配置文件來開啟多個哨兵客戶端,然后照葫蘆畫瓢即可(偷懶 )

感謝各位的閱讀!關于“Redis中主從復制和哨兵模式的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

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

AI

隆尧县| 咸阳市| 太仆寺旗| 波密县| 德兴市| 淮安市| 柞水县| 铜陵市| 阿勒泰市| 高青县| 天台县| 嵊泗县| 驻马店市| 北川| 泰来县| 新余市| 湖口县| 灵山县| 盐源县| 云南省| 乌鲁木齐县| 台中县| 报价| 平安县| 丹寨县| 理塘县| 修文县| 阳谷县| 鹰潭市| 吉隆县| 邵武市| 湟源县| 崇仁县| 军事| 登封市| 泌阳县| 桃园县| 固阳县| 靖西县| 晋州市| 郯城县|