日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Redis:master/slave、sentinel、Cluster简单总结

發布時間:2025/3/21 数据库 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis:master/slave、sentinel、Cluster简单总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、單節點實例

  單節點實例還是比較簡單的,平時做個測試,寫個小程序如果需要用到緩存的話,啟動一個Redis還是很輕松的,做為一個key/value數據庫也是可以勝任的。單節點部署參照:http://www.cnblogs.com/yiwangzhibujian/p/7053840.html 中的初級教程。

二、主從模式(master/slaver)

  主從模式的簡介和配置,此處不再說,參照下面的博客:Redis 主從模式詳解

  首先談談我對主從模式的必要性:

  • 主從模式的一個作用是備份數據,這樣當一個節點損壞(指不可恢復的硬件損壞)時,數據因為有備份,可以方便恢復。
  • 另一個作用是負載均衡,所有客戶端都訪問一個節點肯定會影響Redis工作效率,有了主從以后,查詢操作就可以通過查詢從節點來完成。

  對主從模式必須的理解(結論已經驗證過,可以自行驗證):

  • 一個Master可以有多個Slaves
  • 默認配置下,master節點可以進行讀和寫,slave節點只能進行讀操作,寫操作被禁止
  • 不要修改配置讓slave節點支持寫操作,沒有意義,原因一,寫入的數據不會被同步到其他節點;原因二,當master節點修改同一條數據后,slave節點的數據會被覆蓋掉
  • slave節點掛了不影響其他slave節點的讀和master節點的讀和寫,重新啟動后會將數據從master節點同步過來
  • master節點掛了以后,不影響slave節點的讀,Redis將不再提供寫服務,master節點啟動后Redis將重新對外提供寫服務。
  • master節點掛了以后,不會slave節點重新選一個master
  •   對有密碼的情況說明一下,當master節點設置密碼時:

    • 客戶端訪問master需要密碼
    • 啟動slave需要密碼,在配置中進行配置即可
    • 客戶端訪問slave不需要密碼

    2.1 主從節點的缺點

      主從模式的缺點其實從上面的描述中可以得出:

    • master節點掛了以后,redis就不能對外提供寫服務了,因為剩下的slave不能成為master

      這個缺點影響是很大的,尤其是對生產環境來說,是一刻都不能停止服務的,所以一般的生產壞境是不會單單只有主從模式的。所以有了下面的sentinel模式

    三、sentinel模式(解決主從的監控,完成故障轉移操作)

      sentinel模式的簡介和配置,此處不再說,參照下面的博客:Redis Sentinel模式詳解

      sentinel的中文含義是哨兵、守衛。也就是說既然主從模式中,當master節點掛了以后,slave節點不能主動選舉一個master節點出來,那么我就安排一個或多個sentinel來做這件事,當sentinel發現master節點掛了以后,sentinel就會從slave中重新選舉一個master。

      對sentinel模式的理解:

    • sentinel模式是建立在主從模式的基礎上,如果只有一個Redis節點,sentinel就沒有任何意義
    • 當master節點掛了以后,sentinel會在slave中選擇一個做為master,并修改它們的配置文件,其他slave的配置文件也會被修改,比如slaveof屬性會指向新的master
    • 當master節點重新啟動后,它將不再是master而是作為slave接收新的master節點的同步數據
    • sentinel因為也是一個進程,有掛掉的可能,所以sentinel也會啟動多個形成一個sentinel集群
    • 當主從模式配置密碼時,sentinel也會同步將配置信息修改到配置文件中,不許要擔心。
    • 一個sentinel或sentinel集群可以管理多個主從Redis(多個單機主從)
    • sentinel最好不要和Redis部署在同一臺機器,如果機器壞掉,Redis的服務器掛了以后,sentinel也掛了
    • sentinel監控的Redis集群都會定義一個master名字,這個名字代表Redis集群的master Redis。

    ?  當使用sentinel模式的時候,客戶端就不要直接連接Redis,而是連接sentinel的ip和port,由sentinel來提供具體的可提供服務的Redis實現,這樣當master節點掛掉以后,sentinel就會感知并將新的master節點提供給使用者。

    sentinel模式基本可以滿足一般生產的需求,具備高可用性。但是當數據量過大到一臺服務器存放不下的情況時,主從模式或sentinel模式就不能滿足需求了,這個時候需要對存儲的數據進行分片,將數據存儲到多個Redis實例中,這就需要集群模式。

    cluster的出現是為了解決單機Redis容量有限的問題,將Redis的數據根據一定的規則分配到多臺機器。
    cluster可以說是sentinel和主從模式的結合體,通過cluster可以實現主從和master重選功能,所以如果配置兩個副本三個分片的話,就需要六個Redis實例。
    因為Redis的數據是根據一定規則分配到cluster的不同機器的,當數據量過大時,可以新增機器進行擴容
      這種模式適合數據量巨大的緩存要求,當數據量不是很大使用sentinel即可。
    ?

    四、cluster模式

      sentinel模式的簡介和配置,此處不再說,參照下面的博客:Redis cluster模式詳解

      cluster的出現是為了解決單機Redis容量有限的問題,將Redis的數據根據一定的規則分配到多臺機器。對cluster的一些理解:

    • cluster可以說是sentinel和主從模式的結合體,通過cluster可以實現主從和master重選功能,所以如果配置兩個副本三個分片的話,就需要六個Redis實例。
    • 因為Redis的數據是根據一定規則(slots)分配到cluster的不同機器的,當數據量過大時,可以新增機器進行擴容

      這種模式適合數據量巨大的緩存要求,當數據量不是很大使用sentinel即可。

    總結

    以上是生活随笔為你收集整理的Redis:master/slave、sentinel、Cluster简单总结的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。