Redis(哨兵模式)

哨兵模式的定義:

是Redis的一種高可用解決方案,通過運行多個Redis實例來監控主從Redis實例的狀態,當主實例出現故障時,哨兵會自動選舉一個從實例作為新的主實例,從而保證系統的高可用性。哨兵模式可以監控多個主從Redis實例,并在主實例故障時自動進行故障轉移,同時還可以對故障進行報警和通知。這種模式可以有效地提高Redis系統的可用性和穩定性。

主從復制中的缺點:

主從復制中主節點宕機了,還需要手工把另一臺從節點提升為主節點,這樣就不能實現真正的高可用。

上篇文章實現了一主兩從的Redis集群,實現了一定程度上的高可用,相比于一個單節點的Redis有了很大的提升。

上篇文章的鏈接:http://t.csdnimg.cn/51cOU

實現故障的自動轉移就是哨兵模式干的事。哨兵會以一個獨立的進程運行再Redis集群中。用來監控Redis中的各個節點是否運行正常。

哨兵主要用來執行以下幾個功能:

1.? 監控:通過不斷的發送命令來檢查Redis節點是否正常。

2.? 通知:如果發現某個節點出現了問題,那么哨兵就會通過發布訂閱模式來通知其他節點。

3.? 自動故障轉移: 當主節點不能正常工作的時候,哨兵會開始一個自動故障轉移的操作。他會將一個從節點升級為新的主節點,然后將其他從節點指向新的主節點?。

配置哨兵模式:

首先需要在Redis集群中添加一個哨兵節點,可以使用:

redis -sentinel

來啟動哨兵節點。然后創建一個sentinel.cof配置文件。

?

?在配置文件中添加一條語句。monitor后面的是主節點的名稱,可以自己定義,最后那個1代表只需要一個哨兵節點同意就可以進行故障轉移了。

接下來就可以啟動哨兵節點了:

redis-sentinel sentinel.conf

通過上述語句啟動一個哨兵節點。?

啟動完成之后就可以看到一個運行在26379端口的哨兵模式。

然后將6379端口的服務端終止(ctrl + c或者將終端×掉),來模擬主節點宕機的情況。?

然后就會發現現在新的主節點的端口為6381。

?再來查看6381這個端口的節點,發現他現在是主節點。

?

6380依然是從節點,他的主節點是6381。

最后有一點需要注意的是:

哨兵本身也是一個進程,自己也會有單節點故障的問題,所以在一般的生產環境會使用3個哨兵節點來保證高可用。這3個哨兵節點會通過選舉的方式來選出一個領導者,然后由領導者來監控其他節點,如果領導者掛了,那么其他哨兵節點會重新選舉出一個領導者。這樣就可以保證哨兵節點的高可用了。

Redis中多個哨兵節點的選舉是自動的。當主節點出現故障或不可達時,哨兵節點會自動進行選舉,選舉出新的主節點,并通知其他從節點切換到新的主節點上。這樣可以保證系統的高可用性和故障恢復能力。哨兵節點之間會相互通信,通過投票來決定新的主節點,并在選舉完成后自動更新配置,使得系統可以繼續正常工作。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/164889.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/164889.shtml
英文地址,請注明出處:http://en.pswp.cn/news/164889.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2023亞太杯數學建模競賽C題詳細代碼解析建模

C題:The Development Trend of New Energy Electric Vehicles in China中國談新能源電動汽車的發展趨勢 第一問部分: import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.cluster import KMeans from sklearn.prep…

Axios 通過a標簽下載文件 跨域下載

<!-- a標簽占位 --><a ref"down" ></a>getTest() {this.$axios.request({url: https://cnv13.55.la/download?file_key3695fa9461a0ae59cf3148581e4fe339&handle_typeexcel2pdf,method: get,responseType: blob, // 切記類型 blob}).then(re…

RC4密碼(python實現)

def RC4_INIT(key):keylist(key)for i in range(len(key)):key[i]ord(key[i]) #需要將key中的每個字符轉換為整數進行異或k[0 for i in range(256)]s[0 for i in range(256)]j0lengthlen(key)for i in range(256):s[i]ik[i]key[i%length] #如果key為123&#xff0c;則實際填充…

實現二叉搜索樹的查找、插入和刪除功能(思路+圖文+代碼詳解)

文章目錄 二叉搜索樹一、搜索樹1.二叉搜索樹的查找2.二叉搜索樹的插入3.二叉搜索樹的刪除4.性能分析 二叉搜索樹 HashMap和HashSet的底層是一個哈希表 TreeMap 和TreeSet底層是一棵搜索樹&#xff08;紅黑樹&#xff09; 涉及到一些搜索查找的場景可以調用Map和Set接口 一、…

Action!錄屏工具免費完整版,錄屏軟件,打開即可解鎖最新完整可用版本,支持GPU加速HDR視頻錄制和播放

一、軟件簡介 本次帶來的錄屏工具已升級為【完整版本】&#xff0c;所有功能全部可用。該錄屏工具支持GPU硬件加速&#xff0c;可以智能識別主流硬件設備&#xff0c;支持通過GPU進行HDR視頻錄制和播放進行。視頻錄制幀率最高支持360FPS&#xff0c;直播視頻幀率最高支持60FPS…

Java反射機制

我是南城余&#xff01;阿里云開發者平臺專家博士證書獲得者&#xff01; 歡迎關注我的博客&#xff01;一同成長&#xff01; 一名從事運維開發的worker&#xff0c;記錄分享學習。 專注于AI&#xff0c;運維開發&#xff0c;windows Linux 系統領域的分享&#xff01; 本…

RK3399平臺開發系列講解(內核入門篇)ConfigFS 的核心數據結構

??返回專欄總目錄 文章目錄 一、關鍵數據結構二、config_item 的結構體三、屬性和方法沉淀、分享、成長,讓自己和他人都能有所收獲!?? ??虛擬文件系統 ConfigFS 是一個特殊的文件系統,旨在提供一種動態配置 Linux 內核和設備的機制。 一、關鍵數據結構 ConfigFS 的核…

Vue表單的整體處理

在前端的處理中&#xff0c;表單的處理永遠是占高比例的。在BOMDOMjs的時候是這樣&#xff0c;在Vue的時候也是這樣。Vue的表單處理做了特別的優化&#xff0c;如值綁定、數據驗證、錯誤提示、修飾符等。 表單組件的示例&#xff1a; <script setup lang"ts">…

如何用Postman做接口自動化測試?一文5個步驟帶你成功實現!

什么是自動化測試 把人對軟件的測試行為轉化為由機器執行測試行為的一種實踐。 例如GUI自動化測試&#xff0c;模擬人去操作軟件界面&#xff0c;把人從簡單重復的勞動中解放出來 本質是用代碼去測試另一段代碼&#xff0c;屬于一種軟件開發工作&#xff0c;已經開發完成的用例…

解決kubernetes中微服務pod之間調用失敗報錯connection refused的問題

現象&#xff1a; 從這里可以看到是當前服務在調用product service服務是出現了連接拒絕connection refused 走讀一下原始代碼&#xff1a; 可以看到請求是由FeignClient代理發出的 &#xff0c;但問題在于為什么Feign請求的時候會產生connection refused錯誤&#xff1f; 上…

Programming Tensor Cores: NATIVE VOLTA TENSOR CORES WITH CUTLASS

PROGRAMMING TENSOR CORES: NATIVE VOLTA TENSOR CORES WITH CUTLASS 源自于 GTC Silicon Valley-2019: cuTENSOR: High-performance Tensor Operations in CUDA&#xff0c;介紹了 CUTLASS 1.3 中基于 Volta Tensor Core 實現高效矩陣乘法計算的策略。主要內容為以下三點&…

Python函數式編程:讓你的代碼更優雅更簡潔

概要 函數式編程&#xff08;Functional Programming&#xff09;是一種編程范式&#xff0c;它將計算視為函數的求值&#xff0c;并且避免使用可變狀態和循環。 函數式編程強調的是函數的計算&#xff0c;而不是它的副作用。 在函數式編程中&#xff0c;函數是第一類公民&a…

【Vue3】解決Vue打包后上傳服務器 資源路徑加載錯誤

問題&#xff1a; 我這里在打包Vue之后將打包后的dist 上傳至服務器站點根目錄內子目錄 名為 "adminstore" , 但是當我通過域名打開站點后發現 資源加載路徑內并沒有攜帶 子目錄 "adminstore" 文件名稱 錯誤&#xff1a;http://your website domain/js/app…

Java 開發常用的 Linux 命令匯總(建議收藏)

雖然平時大部分工作都是和Java相關的開發, 但是每天都會接觸Linux系統, 尤其是使用了Mac之后, 每天都是工作在黑色背景的命令行環境中. 自己記憶力不好, 很多有用的Linux命令不能很好的記憶, 現在逐漸總結一下, 以便后續查看. 基本操作 Linux關機,重啟 # 關機 shutdown -h n…

面試Java筆試題精選解答

文章目錄 熱身級別數組中重復的數字思路&#xff1a;使用map或HashSet來遍歷一遍就可以找出重復的字符樣例解答 用兩個棧實現隊列思路&#xff1a;Stack1正向進入&#xff0c;隊頭在棧底&#xff0c;用于進隊列操作&#xff1b;Stack2是Stack1倒棧形成&#xff0c;隊頭在棧頂&a…

學生成績管理系統(C++實現)

問題描述 實現學生成績管理系統&#xff1a; 學生信息包括&#xff1a;學號、姓名、性別、年齡、班級等信息。除了包括學生所有信息外&#xff0c;還包括專業、英語、程序設計和高等數學等課程。 設計一程序能夠對學生成績進行管理&#xff0c;應用到繼承、抽象類、虛函數、虛…

基于5G+物聯網+SaaS+AI的農業大數據綜合解決方案:PPT全文44頁,附下載

關鍵詞&#xff1a;智慧農業大數據&#xff0c;5G智慧農業&#xff0c;物聯網智慧農業&#xff0c;SaaS智慧農業&#xff0c;AI智慧農業&#xff0c;智慧農業大數據平臺 一、智慧農業大數據建設背景 1、應對全球人口快速增長帶來的糧食生產壓力&#xff0c;未來的糧食生產力必…

宣傳技能培訓1——《新聞攝影技巧》光影魔法:理解不同光線、角度、構圖的攝影效果,以及相機實戰操作 + 新聞攝影實例講解

新聞攝影技巧 寫在最前面摘要 構圖與拍攝角度景別人物表情與敘事遠景與特寫 構圖與拍攝角度案例 主體、陪體、前景、背景強調主體利用前景和背景層次感的創造 探索新聞攝影中的構圖技巧基本構圖技巧構圖技巧的應用實例實例分析1. 黃金分割和九宮格2. 三角型構圖3. 引導線構圖4.…

1)業務平臺集成電子簽章平臺

1.前言 電子簽章平臺隨著企業數字化轉型逐步滲透到日常運營項目中&#xff0c;如合同蓋章/規章制度發布/法審意見等場景下引入電子章解決蓋章需求。 作為特定業務下的統一處理方案&#xff0c;需要在業務管理平臺與電子簽章平臺之間構建一個橋梁&#xff0c;簡化電子簽章平臺…

Spring配置其他注解Spring注解的解析原理

Spring配置其他注解 Primary注解用于標注相同類型的Bean優先被使用權&#xff0c;Primary是Spring 3.0引入的&#xff0c;與Component和Bean一起使用&#xff0c;標注該Bean的優先級更高&#xff0c;則在通過類型獲取Bean或通過Autowired根據類型進行注入時&#xff0c;會選用優…