天天看點

redis

  RDB和AOF的優缺點

RDB優點:

      (1)RDB會生成多個資料檔案,每個資料檔案都代表了某個時刻中redis的資料,這種多個資料

               檔案方式,非常适合冷備份。

      (2)RBD可以最小化redis的性能,父程序在儲存RBD檔案時唯一要做的就是fork出一個子程序,

               讓子程序對磁盤IO進行RDB持久化。

      (3)RDB在恢複大資料集時的速度比AOF的恢複速度要快

RDB缺點:

      (1)不能實時儲存資料,可能會丢失上一次執行RDB備份到目前的記憶體資料

      (2)當資料量非常大的時候,從父程序fork子程序進行儲存RDB檔案需要一段時間,可能是毫秒或者秒,取決于

               磁盤IO性能。而且可能會造成伺服器在一定時間内停止處理用戶端,如果資料非常龐大并且CPU使用率高

               那麼這種時間可能會長達一秒或更久。

AOF優點:

      (1)更好的保護資料不丢失,一般AOF每隔一秒,通過背景線程執行一次fsync操作,最多丢失一秒資料。

      (2)日志檔案以append-only模式寫入,是以沒有任何磁盤尋址的開銷,寫入性能非常高,而且檔案不容易破損,

               即使檔案尾部破損,也很容易修複。

      (3) AOF檔案體積變得過大時,自動地在背景對AOF進行重寫:重寫後的新AOF檔案包含了

恢複目前資料集所需的最小指令集合。整個重寫操作是絕對安全的,因為Redis在建立新 AOF檔案

的過程中,append模式不斷的将修改資料追加到現有的 AOF檔案裡面,即使重寫過程中發生停

機,現有的 AOF檔案也不會丢失。而一旦新AOF檔案建立完畢,Redis就會從舊AOF檔案切換到新

AOF檔案,并開始對新AOF檔案進行追加操作。

       (4)AOF日志檔案的指令通過非常可讀的方式進行記錄,這個特性非常适合做災難性的誤删除的緊急恢複。

               比如某人不小心用flushall指令清空了所有資料,隻要這個時候背景rewrite還沒有發生,那麼就可以立即拷貝AOF檔案,

               将最後一條flushall指令給删了,然後再将該AOF檔案放回去,就可以通過恢複機制,自動恢複所有資料          

AOF缺點: 

       (1)即使有些操作是重複的也會全部記錄,AOF 的檔案大小要大于 RDB 格式的檔案

       (2)AOF 在恢複大資料集時的速度比 RDB 的恢複速度要慢

       (3)根據fsync政策不同,AOF速度可能會慢于RDB

       (4)bug 出現的可能性更多

redis

master:

slave1

redis

slave2

同步日志

redis

測試同步

redis

哨兵的使用和實作機制

redis

bind 0.0.0.0

masterauth  123456

requirepass 123456

#以上三個配置選項必須一緻

master伺服器狀态

配置slave1

配置slave2

sentinel配置Sentinel實際上是一個特殊的redis伺服器,有些redis指令支援,但很多指令并不支援.預設監聽在26379/tcp端口.

哨兵可以不和Redis伺服器部署在一起,但一般部署在一起,所有redis節點使用相同的以下示例的配置檔案

三個哨兵伺服器的配置都如下

三台哨兵伺服器都要啟動

redis

在sentinel狀态中尤其是最後一行,涉及到masterIP是多少,有幾個slave,有幾個sentinels,必須是符合全部伺服器數量

故障轉移時sentinel的資訊:

redis

故障轉移後slave節點redis.conf中的replicaof行會自動指向新的master IP位址

redis

哨兵配置檔案的sentinel monitor IP 同樣也會被修改

在原 master上觀察狀态

有新的slave加入

redis

每個redis 節點采用相同的硬體配置、相同的密碼、相同的redis版本

所有redis伺服器必須沒有任何資料

準備六台主機,位址如下:

192.168.80.125

192.168.80.126

192.168.80.127

192.168.80.128

192.168.80.129

192.168.80.130

所有6台主機都執行以下配置

[root@centos8 ~]#dnf -y install redis

每個節點修改redis配置,必須開啟cluster功能的參數

繼續閱讀