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

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

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

Redis哨兵集群模式

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

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

?

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

主觀下線

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

?

客觀下線

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

?

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

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

?

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

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

?

?

解決方案

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

?

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

當(dāng)配置好redis配置文件的內(nèi)容后,并啟動(dòng)了主節(jié)點(diǎn)從節(jié)點(diǎn)哨兵后,在我們的application.yml配置文件中就可以進(jìn)行配置了,不需要寫(xiě)redis的主節(jié)點(diǎn)的ip,因?yàn)樯诒鴷?huì)自己去找到主節(jié)點(diǎn)。

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

?

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

怎么保證Redis的高可用呢?

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

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

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

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

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

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

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

總結(jié)

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

相關(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)介紹了三種刪除策略(惰性刪除、定期刪除、主動(dòng)刪除)和六種常用淘汰策略(allkeys-lru、volatile-lru、allkeys-lfu、volatile-lfu等),感興趣的朋友跟隨小編一起看看吧
    2026-04-04
  • Redis緩存高可用集群詳解

    Redis緩存高可用集群詳解

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

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

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

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

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

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

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

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

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

    Redisson 主從一致性問(wèn)題詳解

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

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

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

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

    Redis提供了四種常見(jiàn)部署模式,單機(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

最新評(píng)論

客服| 汤阴县| 宁德市| 琼海市| 蓬安县| 板桥市| 阿拉善左旗| 鲜城| 井陉县| 灵寿县| 华亭县| 芒康县| 衢州市| 南京市| 青河县| 鹤庆县| 资兴市| 白山市| 白朗县| 昭通市| 无为县| 德惠市| 水城县| 尚义县| 远安县| 通辽市| 海丰县| 奎屯市| 武夷山市| 石嘴山市| 陆川县| 沙田区| 泰安市| 奎屯市| 宁武县| 宝丰县| 夹江县| 酒泉市| 临西县| 博爱县| 衡阳市|