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

Redis哨兵(sentinel)用法解讀

 更新時(shí)間:2026年04月10日 16:20:59   作者:當(dāng)歸. z Z  
本文介紹了Redis Sentinel的故障轉(zhuǎn)移機(jī)制,包括監(jiān)控主從庫(kù)狀態(tài)、消息通知、故障轉(zhuǎn)移過(guò)程、配置中心等功能,以及具體配置和操作步驟

巡查監(jiān)控后臺(tái)master主機(jī)是否故障,如果故障了根據(jù)投票數(shù)自動(dòng)將某一個(gè)從庫(kù)轉(zhuǎn)換為新主庫(kù),繼續(xù)對(duì)外服務(wù)。

作用

  • 主從監(jiān)控:監(jiān)控主從redis庫(kù)運(yùn)行是否正常
  • 消息通知:哨兵可以將故障轉(zhuǎn)移的結(jié)果發(fā)送給客戶(hù)端
  • 故障轉(zhuǎn)移:如果master異常,則會(huì)進(jìn)行主從切換,將其中一個(gè)slave作為新master
  • 配置中心:客戶(hù)端通過(guò)連接哨兵來(lái)獲得當(dāng)前redis服務(wù)的主節(jié)點(diǎn)地址

示例

1. 在sentinel.conf文件中,使用如下命令設(shè)置要監(jiān)控的master服務(wù)器,quorum表示確認(rèn)客觀(guān)下線(xiàn)的最少的哨兵數(shù)量

sentinel monitor <master-name> <ip> <redis-port> <quorum>

使用如下命令連接master服務(wù)的密碼

sentinel auth-pass <master-name> <password>

其他配置

sentinel down-after-milliseconds <master-name> <milliseconds>
指定多少毫秒之后,主節(jié)點(diǎn)沒(méi)有應(yīng)答哨兵,此時(shí)哨兵主觀(guān)上認(rèn)為主節(jié)點(diǎn)下線(xiàn)

sentinel parallel-syncs <master-name> <nums>:
表示允許并行同步的slave個(gè)數(shù),當(dāng)Master掛了后,哨兵會(huì)選出新的Master,此時(shí),剩余的slave會(huì)向新的master發(fā)起同步數(shù)據(jù)

sentinel failover-timeout <master-name> <milliseconds>:
故障轉(zhuǎn)移的超時(shí)時(shí)間,進(jìn)行故障轉(zhuǎn)移時(shí),如果超過(guò)設(shè)置的毫秒,表示故障轉(zhuǎn)移失敗

sentinel notification-script <master-name> <script-path> :
配置當(dāng)某一事件發(fā)生時(shí)所需要執(zhí)行的腳本

sentinel client-reconfig-script <master-name> <script-path>:
客戶(hù)端重新配置主節(jié)點(diǎn)參數(shù)腳本

2. 啟動(dòng)哨兵

查看sentinel.log,哨兵啟動(dòng)成功

3. 將主機(jī)shutdown模擬主機(jī)故障

此時(shí)從機(jī)get數(shù)據(jù)時(shí)會(huì)失去連接,再次get數(shù)據(jù)重新發(fā)起連接,哨兵會(huì)從從機(jī)中選取新的master

查看主機(jī)的sentinel.log,選取了ip為192.168.229.102的從機(jī)作為新的master

4. 重新啟動(dòng)原來(lái)的主機(jī),可以看到原主機(jī)從master變?yōu)閟lave,新的master并不會(huì)改變

  • sdown:主觀(guān)下線(xiàn),單個(gè)sentinel自己主觀(guān)上檢測(cè)到的關(guān)于master的狀態(tài)在發(fā)送PING心跳后一定時(shí)間內(nèi)(默認(rèn)30s)沒(méi)有收到合法回復(fù)
  • odown:客觀(guān)下線(xiàn),多個(gè)sentinel達(dá)成一致意見(jiàn)認(rèn)為一個(gè)master客觀(guān)上已經(jīng)宕機(jī) 
  • 當(dāng)主節(jié)點(diǎn)被判斷客觀(guān)下線(xiàn)后,各個(gè)哨兵節(jié)點(diǎn)會(huì)進(jìn)行協(xié)商,先選舉出一個(gè)領(lǐng)導(dǎo)者哨兵,并由該哨兵進(jìn)行故障遷移
  • 哨兵選取新的master時(shí),優(yōu)先選取原master的直接slave,如果直接slave不可用,才會(huì)去尋找slave的slave 

領(lǐng)導(dǎo)者哨兵選取算法——Raft算法

基本思路是先到先得:即在一輪選舉中,哨兵A向B發(fā)送成為領(lǐng)導(dǎo)者的申請(qǐng),如果B沒(méi)有同意過(guò)其他哨兵,則會(huì)同意A成為領(lǐng)導(dǎo)者

新master選取機(jī)制

1. 選出新的master,在健康的slave中,通過(guò)優(yōu)先級(jí)(redis.conf中slave-priority或replica-priority,數(shù)字越小優(yōu)先級(jí)越高)、復(fù)制偏移量、id三層比較選取新的master

2. 重新認(rèn)定master,領(lǐng)導(dǎo)者哨兵會(huì)對(duì)選舉出的新master執(zhí)行slaveof no one;對(duì)其他slave發(fā)送命令使剩余slave稱(chēng)為新master的slave

3. 原master成為新master的slave,領(lǐng)導(dǎo)者哨兵會(huì)讓原master降級(jí)為slave并恢復(fù)正常工作

總結(jié)

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

相關(guān)文章

  • 從java8升級(jí)java17的一些調(diào)整總結(jié)

    從java8升級(jí)java17的一些調(diào)整總結(jié)

    在過(guò)去的幾年里,Java經(jīng)歷了多次版本升級(jí),從JDK8到JDK17,每一次升級(jí)都帶來(lái)了許多新的特性和改進(jìn),這篇文章主要介紹了從java8升級(jí)java17的一些調(diào)整,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2026-03-03
  • Springboot中基于X509完成SSL檢驗(yàn)的原理與實(shí)現(xiàn)

    Springboot中基于X509完成SSL檢驗(yàn)的原理與實(shí)現(xiàn)

    本文詳細(xì)解析了HTTPS通信中SSL證書(shū)的作用和原理,SSL證書(shū)建立在客戶(hù)端和服務(wù)器之間的安全通道,確保數(shù)據(jù)傳輸?shù)耐暾院捅C苄?詳細(xì)的介紹了Springboot中基于X509完成SSL檢驗(yàn)的原理與實(shí)現(xiàn),感興趣的可以了解一下
    2024-09-09
  • SpringBoot如何打包自定義生成的包名

    SpringBoot如何打包自定義生成的包名

    這篇文章主要介紹了SpringBoot如何打包自定義生成的包名問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • JavaWeb案例講解Servlet常用對(duì)象

    JavaWeb案例講解Servlet常用對(duì)象

    Java Servlet 是運(yùn)行在 Web 服務(wù)器或應(yīng)用服務(wù)器上的程序,它是作為來(lái)自 Web 瀏覽器或其他 HTTP 客戶(hù)端的請(qǐng)求和 HTTP 服務(wù)器上的數(shù)據(jù)庫(kù)或應(yīng)用程序之間的中間層
    2021-10-10
  • Spring事務(wù)框架之TransactionDefinition源碼解析

    Spring事務(wù)框架之TransactionDefinition源碼解析

    這篇文章主要為大家介紹了Spring事務(wù)框架之TransactionDefinition源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • JAVA簡(jiǎn)單實(shí)現(xiàn)MD5注冊(cè)登錄加密實(shí)例代碼

    JAVA簡(jiǎn)單實(shí)現(xiàn)MD5注冊(cè)登錄加密實(shí)例代碼

    本篇文章主要介紹了JAVA簡(jiǎn)單實(shí)現(xiàn)MD5注冊(cè)登錄加密實(shí)例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • Java排序算法中的選擇排序算法實(shí)現(xiàn)

    Java排序算法中的選擇排序算法實(shí)現(xiàn)

    這篇文章主要介紹了Java排序算法中的選擇排序算法實(shí)現(xiàn),選擇排序算法的實(shí)現(xiàn)思路類(lèi)似插入排序,分已排序區(qū)間和未排序區(qū)間,選擇排序每次會(huì)從未排序區(qū)間中找到最小(大)的元素,將其放到已排序區(qū)間的末尾,需要的朋友可以參考下
    2023-12-12
  • Springboot jdbctemplate整合實(shí)現(xiàn)步驟解析

    Springboot jdbctemplate整合實(shí)現(xiàn)步驟解析

    這篇文章主要介紹了Springboot jdbctemplate整合實(shí)現(xiàn)步驟解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • SpringBoot配置MongoDB多數(shù)據(jù)源的方法步驟

    SpringBoot配置MongoDB多數(shù)據(jù)源的方法步驟

    這篇文章主要介紹了SpringBoot配置MongoDB多數(shù)據(jù)源的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Java并發(fā)編程之原子性-Atomic的使用

    Java并發(fā)編程之原子性-Atomic的使用

    這篇文章主要介紹了Java并發(fā)編程之原子性-Atomic的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03

最新評(píng)論

横峰县| 青海省| 张北县| 凭祥市| 合作市| 岫岩| 南京市| 繁昌县| 东源县| 察雅县| 虎林市| 皮山县| 梁平县| 乌兰察布市| 沛县| 尼木县| 榕江县| 米泉市| 阜新市| 余江县| 凤冈县| 恭城| 大洼县| 夏邑县| 会泽县| 玛多县| 梅河口市| 延庆县| 安顺市| 江达县| 保定市| 海宁市| 宁乡县| 南平市| 大同市| 门头沟区| 昌江| 天峻县| 柳林县| 东宁县| 专栏|