最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Redis哨兵集群模式全方位解讀

 更新時間:2025年09月16日 09:07:19   作者:小霞在敲代碼  
Redis哨兵集群通過心跳檢測實(shí)現(xiàn)主從自動故障轉(zhuǎn)移,當(dāng)主節(jié)點(diǎn)宕機(jī)時,依據(jù)斷開時間、優(yōu)先級、offset和運(yùn)行ID規(guī)則選舉新主,腦裂問題因網(wǎng)絡(luò)分割導(dǎo)致數(shù)據(jù)沖突,可通過配置參數(shù)限制同步延遲和從節(jié)點(diǎn)數(shù)量來避免數(shù)據(jù)丟失

Redis哨兵集群模式

Redis提供了哨兵機(jī)制,來實(shí)現(xiàn)主從復(fù)制自動故障恢復(fù)。

當(dāng)Redis主節(jié)點(diǎn)宕機(jī)后,Sentinel會在從節(jié)點(diǎn)中選擇一個從節(jié)點(diǎn)成為主節(jié)點(diǎn),并通知給Redis客戶端,這樣Redis客戶端就知道下次進(jìn)行操作的時候,就知道該給那個節(jié)點(diǎn)操作了。

?

Sentinel基于心跳機(jī)制監(jiān)測服務(wù)狀態(tài),每隔1秒向集群中的每一個實(shí)例發(fā)送ping命令

主觀下線

如果某個Sentinel節(jié)點(diǎn)發(fā)現(xiàn)某實(shí)例未在規(guī)定時間內(nèi)響應(yīng),那么就會認(rèn)為是主觀下線(就是某Sentinel一個節(jié)點(diǎn)認(rèn)為下線,但是其他Sentinel還沒有認(rèn)為下線)。

?

客觀下線

若超過指定數(shù)量(quorum)的Sentinel都認(rèn)為該實(shí)例主觀下線,則該實(shí)例客觀下線,quorum值最好超過Sentinel實(shí)例數(shù)量的一半。

?

哨兵模式的選主規(guī)則:

  • 首先判斷主與從節(jié)點(diǎn)斷開時間的長短,如超過指定的值那么久排該從節(jié)點(diǎn)。
  • 然后判斷從節(jié)點(diǎn)的slave-priority值,越小優(yōu)先級越高。
  • 如果slave-priority值一樣,那么就判斷offset值,值越大的優(yōu)先級越高。
  • 最后是判斷slave節(jié)點(diǎn)的運(yùn)行id大小,越小優(yōu)先級越高。

?

哨兵模式(腦裂),腦裂就是當(dāng)主節(jié)點(diǎn)和Sentinel因?yàn)榫W(wǎng)絡(luò)原因,不在同一個網(wǎng)絡(luò)了,那么Sentinel就會去從節(jié)點(diǎn)中選出一個主節(jié)點(diǎn)出來,但是Redis客戶端依舊能訪問到老的主節(jié)點(diǎn) 。

當(dāng)網(wǎng)絡(luò)恢復(fù)后,老的主節(jié)點(diǎn)和新的主節(jié)點(diǎn)又在同一個網(wǎng)絡(luò)了,這時候Sentinel就會強(qiáng)制將老的主節(jié)點(diǎn),改變?yōu)閺墓?jié)點(diǎn),那么這個從節(jié)點(diǎn)會把自己的數(shù)據(jù)清空去新的主節(jié)點(diǎn)中同步數(shù)據(jù),在之前腦裂的過程中,客戶端寫的數(shù)據(jù)就丟失了。

?

?

解決方案

在Redis中有兩個配置參數(shù),如果不滿足這兩個要求,那么就會拒絕客戶端的請求,這樣就不會導(dǎo)致大量的數(shù)據(jù)丟失了。

?

springboot中如何實(shí)現(xiàn)主從哨兵集群呢?

當(dāng)配置好redis配置文件的內(nèi)容后,并啟動了主節(jié)點(diǎn)從節(jié)點(diǎn)哨兵后,在我們的application.yml配置文件中就可以進(jìn)行配置了,不需要寫redis的主節(jié)點(diǎn)的ip,因?yàn)樯诒鴷约喝フ业街鞴?jié)點(diǎn)。

注意:節(jié)點(diǎn)之間可以用逗號進(jìn)行分割哦。(我這里是一主2從,那么我的哨兵就應(yīng)該是3個哨兵。)

?

這樣就可以實(shí)現(xiàn)簡單的主從哨兵機(jī)制啦,可以測試一下,當(dāng)主節(jié)點(diǎn)的redis宕機(jī)后,那么哨兵就會根據(jù)指定的規(guī)則在從節(jié)點(diǎn)中選一個新的主節(jié)點(diǎn)出來,如果原來那個主節(jié)點(diǎn)恢復(fù)回來了就會被哨兵強(qiáng)制變?yōu)閺墓?jié)點(diǎn)。

怎么保證Redis的高可用呢?

哨兵模式,實(shí)現(xiàn)主從集群的自動故障恢復(fù)。監(jiān)控每一個實(shí)例是否健康,自動故障恢復(fù),某一個主節(jié)點(diǎn)宕機(jī)后,那么哨兵機(jī)制通過選主的規(guī)則,來選擇某一個從節(jié)點(diǎn)來成為主節(jié)點(diǎn),通知客戶端去連接哪一個Redis。

你們使用的Redis是單點(diǎn)還是集群,哪種集群?

集群,主從集群(1主1從)+哨兵。單節(jié)點(diǎn)不超過10G內(nèi)存,如果Redis內(nèi)存不足則可以給不同服務(wù)分配獨(dú)立的Redis主從節(jié)點(diǎn)。

Redis中不建議存儲海量的數(shù)據(jù),Redis中一般用來存儲一些熱點(diǎn)數(shù)據(jù)。

Redis的集群腦裂,如何解決呢?

Redis的集群腦裂主要是因?yàn)?,主?jié)點(diǎn)和從節(jié)點(diǎn)以及Sentinel因?yàn)榫W(wǎng)絡(luò)原因不在同一個網(wǎng)絡(luò),那么哨兵就會在從節(jié)點(diǎn)中選出一個新的主節(jié)點(diǎn),但是客戶端依舊能訪問到老的節(jié)點(diǎn),當(dāng)網(wǎng)絡(luò)恢復(fù)后,老的主節(jié)點(diǎn)會被強(qiáng)制變?yōu)閺墓?jié)點(diǎn)并清理所有數(shù)據(jù)去同步新的主節(jié)點(diǎn),這樣就導(dǎo)致了腦裂期間,大量數(shù)據(jù)的丟失。

解決方案的話 可以去redis的配置文件中修改兩個配置 一個是設(shè)置主節(jié)點(diǎn)最少擁有的從節(jié)點(diǎn)以及縮短主從數(shù)據(jù)同步的延遲時間,達(dá)不到要求就拒絕請求,這樣就可以避免大量的數(shù)據(jù)丟失。

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Redis數(shù)據(jù)刪除與淘汰策略從原理到實(shí)戰(zhàn)指南

    Redis數(shù)據(jù)刪除與淘汰策略從原理到實(shí)戰(zhàn)指南

    本文講解了Redis的數(shù)據(jù)刪除與淘汰策略,從基礎(chǔ)概念鋪墊到策略細(xì)節(jié)拆解,再到底層原理和實(shí)戰(zhàn)配置,重點(diǎn)介紹了三種刪除策略(惰性刪除、定期刪除、主動刪除)和六種常用淘汰策略(allkeys-lru、volatile-lru、allkeys-lfu、volatile-lfu等),感興趣的朋友跟隨小編一起看看吧
    2026-04-04
  • Redis緩存高可用集群詳解

    Redis緩存高可用集群詳解

    Redis集群提供了哨兵模式和高可用集群模式兩種方案,前者適合低并發(fā),配置復(fù)雜,主從切換可能導(dǎo)致瞬斷;后者通過多主多從結(jié)構(gòu)提高可用性和性能,支持線性擴(kuò)展,配置簡單,搭建Redis集群至少需要三個主節(jié)點(diǎn)
    2024-10-10
  • 基于 Redis 的 JWT令牌失效處理方案(實(shí)現(xiàn)步驟)

    基于 Redis 的 JWT令牌失效處理方案(實(shí)現(xiàn)步驟)

    當(dāng)用戶登錄狀態(tài)到登出狀態(tài)時,對應(yīng)的JWT的令牌需要設(shè)置為失效狀態(tài),這時可以使用基于Redis 的黑名單方案來實(shí)現(xiàn)JWT令牌失效,本文給大家分享基于 Redis 的 JWT令牌失效處理方案,感興趣的朋友一起看看吧
    2024-03-03
  • redis過期回調(diào)功能實(shí)現(xiàn)示例

    redis過期回調(diào)功能實(shí)現(xiàn)示例

    Redis提供了一種過期回調(diào)的機(jī)制,可以在某個鍵過期時觸發(fā)一個回調(diào)函數(shù),本文就來介紹一下redis過期回調(diào)功能實(shí)現(xiàn)示例,感興趣的可以了解一下
    2023-09-09
  • Redis 事務(wù)知識點(diǎn)相關(guān)總結(jié)

    Redis 事務(wù)知識點(diǎn)相關(guān)總結(jié)

    這篇文章主要介紹了Redis 事務(wù)相關(guān)總結(jié),幫助大家更好的理解和學(xué)習(xí)使用Redis,感興趣的朋友可以了解下
    2021-03-03
  • Redis可視化連接服務(wù)器的方法

    Redis可視化連接服務(wù)器的方法

    這篇文章主要介紹了Redis可視化連接服務(wù)器的方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • Redisson 主從一致性問題詳解

    Redisson 主從一致性問題詳解

    這篇文章主要為大家介紹了Redisson 主從一致性問題詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 詳解Redis?鍵和字符串常用命令

    詳解Redis?鍵和字符串常用命令

    字符串是?Redis?最基本的數(shù)據(jù)結(jié)構(gòu),它將以一個鍵?和一個值?儲存在?Redis?內(nèi)部,本文重點(diǎn)給大家介紹Redis鍵和字符串常用命令,感興趣的朋友一起看看吧
    2022-02-02
  • Redis 7.X 部署指南之單機(jī)、主從、哨兵和集群部署

    Redis 7.X 部署指南之單機(jī)、主從、哨兵和集群部署

    Redis提供了四種常見部署模式,單機(jī)部署、主從部署、哨兵部署和集群部署,本文詳細(xì)介紹了每種部署方式的安裝、配置與操作,并提供了配置文件與命令匯總,以及部署建議與注意事項(xiàng),感興趣的朋友跟隨小編一起看看吧
    2026-01-01
  • Redis實(shí)戰(zhàn)之Jedis使用技巧詳解

    Redis實(shí)戰(zhàn)之Jedis使用技巧詳解

    Jedis?是老牌的?Redis?的?Java?客戶端,提供了比較全面的?Redis?命令的操作支持,也是目前使用最廣泛的客戶端。這篇文章主要為大家詳細(xì)介紹了Jedis的使用技巧,需要的可以參考一下
    2022-12-12

最新評論

东平县| 崇信县| 驻马店市| 西林县| 津南区| 花垣县| 汝阳县| 杨浦区| 大方县| 依安县| 洛扎县| 宝清县| 饶平县| 裕民县| 天津市| 仁化县| 五莲县| 胶州市| 玉林市| 平江县| 雅江县| 广昌县| 汉寿县| 浠水县| 清水河县| 南京市| 卢龙县| 芜湖市| 黑山县| 石柱| 青铜峡市| 塘沽区| 林州市| 无极县| 晋州市| 义马市| 靖安县| 浑源县| 依兰县| 准格尔旗| 明溪县|