您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
02 redis發布訂閱模式配置(Redis中的哨兵模式)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-06-09 07:07:10【】2人已围观
简介>當發布者向某個頻道發布消息時,就會遍歷pubsub_channels找到訂閱該頻道的客戶端列表,依次向這些客戶端發送消息。然后遍歷pubsub_patterns找到符合當前頻道的模式,同時找到模式對
當發布者向某個頻道發布消息時,就會遍歷 pubsub_channels 找到訂閱該頻道的客戶端列表,依次向這些客戶端發送消息。
然后遍歷 pubsub_patterns 找到符合當前頻道的模式,同時找到模式對應的客戶端,然后向客戶端發送消息。
雖然Redis提供了發布/訂閱的功能,但是并不完善,導致基本沒有合適的場景能夠使用。
PubSub缺點:
直到Redis5.0出現之后,出現了Stream這種數據結構,才終于完善了Redis的消息機制 。
Stream實際上就是一個消息列表,只是他幾乎實現了消息隊列所需要的所有功能,包括:
同時需要注意的是Stream只是一個數據結構,他不會主動把消息推送給消費者,需要消費者主動來消費數據 。
每個Stream都有唯一的名稱,它就是Redis的key,首次使用 xadd 指令追加消息時自動創建。
常見操作命令如下表:
如果客戶端希望知道自身消費到第幾條數據了,那么就需要記錄一下當前消費的消息ID,下次再次消費的時候就從上次消費的消息ID開始讀取數據即可。
消費組中多了一個游標 last_delivered_id ,表示當前消費到了哪一條數據。同時所有的數據都是待處理消息( PEL ),只有消費者處理完畢之后使用 ack 指令告知redis服務器,數據才會從 PEL 中移除,確認后的消息就無法再次消費。
如果接收到的消息比較多,為了避免Stream過長,可以選擇指定Stream的最大長度,一旦到達了最大長度,就會從最早的消息開始清除,保證Stream中最新的消息。
redis怎么解決訂閱模式多節點重復問題
這幾天看看能寫個demo不,感覺有點無從下手,那個處理程序應該寫在哪里,會不會隨著tomcat的啟動就開始運行?您有demo沒有?有的話私信一
既然要監控隊列,后臺肯定有個消費隊列的程序運行,搶紅包這樣非常要求實時性的可以使用 POP的堵塞版本 BPOP,那樣就會等到有元素時才繼續執行, 也
嗯嗯,開辟線程專門用來讀取redis隊列,這樣做的話線程池中的程序就得不停的進行下去,這樣真的好嗎?還是有更好些的辦法? (1年前) 回復
沒啥問題,通過push 和pop來取list中的數據,一般是LPUSH RPOP,通過先進先出的順序 (1年前) 回復
redis頻道收到發布者信息后可以只推信息給一個訂閱者嗎
Redis 的 SUBSCRIBE 命令可以讓客戶端訂閱任意數量的頻道, 每當有新信息發送到被訂閱的頻道時, 信息就會被發送給所有訂閱指定頻道的客戶端。
作為例子, 下圖展示了頻道 channel1 , 以及訂閱這個頻道的三個客戶端 —— client2 、 client5 和 client1 之間的關系:
Redis中的哨兵模式
哨兵模式是一種自動選擇老大的模式,即在老大宕機之后,哨兵模式會根據哨兵們的內部投票,自動的重新選出一個新的老大。哨兵模式是一種特殊的模式,首先Redis提供了哨兵的命令,哨兵是一個獨立的進程,作為進程,它會獨立運行。其原理是哨兵通過發送命令,等待Redis服務器響應,如果Redis服務器一直沒有響應,說明這個Redis服務器可能已經宕機了,從而監控運行的多個Redis實例。
這里的哨兵有兩個作用
1、通過發送命令,讓Redis服務器返回監控其運行狀態,包括主服務器和從服務器。
2、當哨兵監測到master宕機,會自動將slave切換成master,然后通過發布訂閱模式通知其他的從服務器,修改配置文件,讓它們切換主機。
然而一個哨兵進程對Redis服務器進行監控,可能會出現問題,為此,我們可以使用多個哨兵進行監控。各個哨兵之間還會進行監控,這樣就形成了多哨兵模式。
用文字描述一下故障切換(failover)的過程。假設主服務器宕機,哨兵1先檢測到這個結果,系統并不會馬上進行failover過程,僅僅是哨兵1主觀的認為主服務器不可用,這個現象成為主觀下線。當后面的哨兵也檢測到主服務器不可用,并且數量達到一定值時,那么哨兵之間就會進行一次投票,投票的結果由一個哨兵發起,進行failover操作。切換成功后,就會通過發布訂閱模式,讓各個哨兵把自己監控的從服務器實現切換主機,這個過程稱為客觀下線。這樣對于客戶端而言,一切都是透明的。如果有三個哨兵,不僅每個哨兵會監視主機和從機,而且哨兵之間也會互相監視,如下圖:
配置哨兵配置文件sentinel.買粉絲nf,如下
當哨兵模式的配置文件配置好之后,就可以啟動哨兵模式了,如下圖
測試在哨兵模式下如果主機崩了的話會不會從從機中自動選出一個老大,先關閉主機,讓主機宕機,如下圖:
看看主機宕機之后,哨兵模式中輸出日志的新的內容是什么,如下圖:
哨兵模式自動選舉一個主機這個過程是怎樣實現自動化的?哨兵自動選舉之前的某個從機為老大,所有的從機都會稱新選出的從機為老大,以及原本的老大也會稱新選出的老大為老大,這個過程是怎么自動化實現的呢?是通過在對應的redis服務器的配置文件中寫內容來實現的,比方說,讓我們看一下新老大也即是端口號是6381的redis服務器的配置文件中是怎樣改寫的,如下圖:
再來看一下從機即端口號是6380的redis服務器對應的配置文件是怎樣改寫的,如下圖:
最后看一下原本的主機即端口號是6379的redis服務器的配置文件是怎樣改寫的。我檢查了一下,發現在重新啟動原本的老大即重啟已經宕機的端口號是6379的redis服務器之前,它對應的配置文件中沒有發生任何改變,但是一旦重新啟動原本的老大,它對應的配置文件就會發生變化,如下圖:
哨兵模式中的主機關閉之后需要特別注意的一個易錯點:就是因為現在老大已經換了,所以老大的認證密碼也換了,因此需要在現任老大的所有從機里面配置主機的認證密碼,這個哨兵模式是不會幫我們自動配置的,需要我們自動配置,如下圖:
測試哨兵模式結果,如下圖:
1、哨兵集群,基于主從復制模式,所有的主從配置優點,它全有。
2、主從可以切換,故障可以轉移,系統的可用性就會更好。
3、哨兵模式就是主從模式的升級,手動到自動,更加健壯。
1、集群容量一旦到達上限,在線擴容十分麻煩。
2、實現哨兵模式的配置其實是很麻煩的,里面有很多選擇。
當Redis集群的主節點故障時,Sentinel集群將從剩余的從節點中選舉一個新的主節點,有以下步驟:
Sentinel集群的每一個Sentinel節點會定時對Redis集群的所有節點發心跳包檢測節點是否正常。如果一個節點在down-after-millise買粉絲nds時間內沒有回復Sentinel節點的心跳包,則該Redis節點被該Sentinel節點主觀下線。
當節點被一個Sentinel節點記為主觀下線時,并不意味著該節點肯定故障了,還需要Sentinel集群的其他Sentinel節點共同判斷為主觀下線才行。
該Sentinel節點會詢問其他Sentinel節點,如果Sentinel集群中超過quorum數量的Sentinel節點認為該Redis節點主觀下線,則該redis客觀下線。
如果客觀下線的redis節點是從節點或者是Sentinel節點,則操作到此為止,沒有后續的操作了;如果客觀下線的Redis節點為主節點,則開始故障轉移,從從節點中選舉一個節點升級為主節點。
如果需要從redis集群選舉一個節點為主節點,首先需要從Sentinel集群中選舉一個Sentinel節點作為Leader。
每一個Sentinel節點都可以成為Leader,當一個Sentinel節點確認redis集群的主節點主觀下線后,會請求其他Sentinel節點要求將自己選舉為Leader。被請求的Sentinel節點如果沒有同意過其他Sentinel節點的選舉請求,則同意該請求(選舉票數+1),否則不同意。
如果一個Sentinel節點獲得的選舉票數達到Leader最低票數(quorum和Sentinel節點數/2+1的最大值),則該Sentinel節點選舉為Leader;否則重新進行選舉。
當Sentinel集群選舉出Sentinel Leader后,由Sentinel Leader從redis從節點中選擇一個redis節點作為主節點:
詳解redis集群選舉機制
很赞哦!(8745)
相关文章
- 01 youtube官網中文版更新了win11能玩嗎(win11油管不能播放)
- 01 youtube官網中文版更新不能暫停錄制(電腦不用軟件怎么錄屏)
- 01 youtube to mp3 買粉絲 online downloader for windows(什么音樂軟件聽歌音質最好)
- 01 youtube to mp3 買粉絲 download 320kbps youtube to mp3(想要《咖啡王子一號店》的所有歌曲)
- 01 youtube to mp3 get online(高分懸賞!求一首英文流行歌曲)
- 01 youtube to mp3 買粉絲 買粉絲nverter online 買粉絲 edition(怎么把視頻里的音樂提取成mp3)
- 01 youtube to mp3 買粉絲 download 320kbps mp3(Marie.Digby.-.[Unfold].專輯 給個地址,最好無損,其次ogg,最次MP3 320k)
- 01 youtube官網中文版更新了什么功能定位(you tu be的官網是多少?)
- 01 youtube官網中文版更新了幾集濟(韓庚...................)
- 01 youtube to mp3 買粉絲 download software 買粉絲nverter(AV MEDIA SERVER怎么使用)
热门文章
站长推荐
01 youtube to mp3 買粉絲 online 買粉絲nverter mp3(網站轉換工具有哪些?)
01 youtube官網中文版教程考試考試時間安排(網絡教育平臺首頁怎么樣?)
01 youtube to mp3 買粉絲 online 買粉絲nverter 買粉絲 mp3 downloads(下載的音樂如何轉成mp3)
01 youtube官網中文版更新不能連接服務(you tu be的官網是多少?)
01 youtube to mp3 mac 買粉絲nverter(視頻可以轉換成音頻(MP3)嗎?)
01 youtube to mp3 買粉絲 download safe 2016 download(Marie.Digby.-.[Unfold].專輯 給個地址,最好無損,其次ogg,最次MP3 320k)
01 youtube官網中文版教程視頻教程入門基礎視頻免費(youtube視頻是什么?)
01 youtube官網中文版教程視頻教程全集高清完整版(用youtube,學英語——嘔心瀝血碼教程)