Redis總結(四)——主從,哨兵配置

一、Redis高可用

哨兵(Sentinel):可以管理多個Redis服務器,它提供了監控,提醒以及自動的故障轉移的功能。
複製(Replication):則是負責讓一個Redis服務器可以配備多個備份的服務器。

Redis正是利用這兩個功能來保證Redis的高可用

二、哨兵

哨兵是Redis集羣架構中非常重要的一個組件,哨兵的出現主要是解決了主從複製出現故障時需要人爲干預的問題。
Redis哨兵主要功能:

  1. 集羣監控:負責監控Redis master和slave進程是否正常工作
  2. 消息通知:如果某個Redis實例有故障,那麼哨兵負責發送消息作爲報警通知給管理員
  3. 故障轉移:如果master node掛掉了,會自動轉移到slave node上
  4. 配置中心:如果故障轉移發生了,通知client客戶端新的master地址

Redis哨兵的高可用:
原理:當主節點出現故障時,由Redis Sentinel自動完成故障發現和轉移,並通知應用方,實現高可用性。
在這裏插入圖片描述
5. 哨兵機制建立了多個哨兵節點(進程),共同監控數據節點的運行狀況。
6. 同時哨兵節點之間也互相通信,交換對主從節點的監控狀況。
7. 每隔1秒每個哨兵會向整個集羣:Master主服務器+Slave從服務器+其他Sentinel(哨兵)進程,發送一次ping命令做一次心跳檢測。

三、Redis複製

①從數據庫向主數據庫發送sync(數據同步)命令。

②主數據庫接收同步命令後,會保存快照,創建一個RDB文件。

③當主數據庫執行完保持快照後,會向從數據庫發送RDB文件,而從數據庫會接收並載入該文件。

④主數據庫將緩衝區的所有寫命令發給從服務器執行。

⑤以上處理完之後,之後主數據庫每執行一個寫命令,都會將被執行的寫命令發送給從數據庫。

四、Redis 主從複製、哨兵和集羣這三個有什麼區別

主從複製是爲了數據備份,哨兵是爲了高可用,Redis主服務器掛了哨兵可以切換,集羣則是因爲單實例能力有限,搞多個分散壓力,簡短總結如下:

主從模式:備份數據、負載均衡,一個Master可以有多個Slaves。
sentinel發現master掛了後,就會從slave中重新選舉一個master。
cluster是爲了解決單機Redis容量有限的問題,將數據按一定的規則分配到多臺機器。
sentinel着眼於高可用,Cluster提高併發量。

  1. 主從模式:讀寫分離,備份,一個Master可以有多個Slaves。
  2. 哨兵sentinel:監控,自動轉移,哨兵發現主服務器掛了後,就會從slave中重新選舉一個主服務器。
  3. 集羣:爲了解決單機Redis容量有限的問題,將數據按一定的規則分配到多臺機器,內存/QPS不受限於單機,可受益於分佈式集羣高擴展性。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章