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

Redis哨兵(sentinel)用法解讀

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

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

作用

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

示例

1. 在sentinel.conf文件中,使用如下命令設(shè)置要監(jiān)控的master服務(wù)器,quorum表示確認客觀下線的最少的哨兵數(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é)點沒有應(yīng)答哨兵,此時哨兵主觀上認為主節(jié)點下線

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

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

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

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

2. 啟動哨兵

查看sentinel.log,哨兵啟動成功

3. 將主機shutdown模擬主機故障

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

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

4. 重新啟動原來的主機,可以看到原主機從master變?yōu)閟lave,新的master并不會改變

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

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

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

新master選取機制

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

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

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

總結(jié)

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

相關(guān)文章

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

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

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

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

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

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

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

    JavaWeb案例講解Servlet常用對象

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

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

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

    JAVA簡單實現(xiàn)MD5注冊登錄加密實例代碼

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

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

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

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

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

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

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

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

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

最新評論

托克逊县| 右玉县| 沁水县| 罗江县| 绥阳县| 皋兰县| 融水| 抚顺市| 河北区| 靖州| 芷江| 普兰县| 南康市| 定兴县| 龙里县| 漠河县| 岗巴县| 内黄县| 道真| 沂水县| 兴隆县| 垦利县| 论坛| 鄯善县| 五莲县| 酒泉市| 新乐市| 东海县| 佛冈县| 瓮安县| 澎湖县| 孟州市| 蒲江县| 正宁县| 山阳县| 区。| 青冈县| 克东县| 巢湖市| 永顺县| 通山县|