自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

通俗易懂講解Redis的哨兵模式

數(shù)據(jù)庫 Redis
redis的哨兵模式,就是用于在一主多從的集群環(huán)境下,如果主服務器宕機了,它會自動的將從服務器中的一臺設為新的master,并且將其余的slave的配置文件自動修改,這樣就切換出一套新的主從服務,不需要人工干預,且不會影響服務的使用。

背景

在生產(chǎn)環(huán)境中,為了保證redis服務的高可用,通常都會搭建主從。我們知道主從的原理是從服務器獲取rdb文件的全量復制+寫操作的增量復制來共同保證數(shù)據(jù)的一致性,所以在配置從服務器的時候,一個很重要的配置項就是標明主服務器的ip和端口號,總得知道哪一臺服務器是我的主子不是,像下圖中的replicaof配置。

通俗易懂講解redis的哨兵模式

對于圖中的部署方案,如果主服務器宕機了,我們只能進行手動干預,選擇一臺從服務器重新作為主服務器,然后將另外的兩臺從服務器的配置文件修改一下,將replicaof的配置重新改成新的主服務器地址。人工干預費時費力不說,更重要的是,這樣會造成一段時間內(nèi)服務是不可用的。在這種場景下,哨兵模式應運而生了。

什么是哨兵模式Sentinel

redis的哨兵模式,就是用于在一主多從的集群環(huán)境下,如果主服務器宕機了,它會自動的將從服務器中的一臺設為新的master,并且將其余的slave的配置文件自動修改,這樣就切換出一套新的主從服務,不需要人工干預,且不會影響服務的使用。

那么它具體是怎么工作的呢?首先看下面這張圖:

通俗易懂講解redis的哨兵模式

哨兵模式結構圖

首先哨兵是一個獨立于主從服務之外的服務,它也是一個集群服務。哨兵實例會不斷給主服務器發(fā)送Ping命令,主服務器在收到命令后,返回一個有效回復,這樣哨兵實例認為服務器是正常的。

主觀下線

假設主服務器宕機,哨兵1在指定時間內(nèi)(可配置)沒有收到主服務器的有效回復,那么這個哨兵會把服務器標記為下線,叫做主觀下線SDOWN。

注意此時只有一個哨兵標記為下線,實際上哨兵沒有收到回復原因可能有很多,可能是服務器確實掛了,也有可能是服務器并沒有掛,由于網(wǎng)絡原因沒有收到回復,總之,一個哨兵沒有收到回復并不能證明主服務器宕機。

客觀下線

哨兵2也發(fā)送了Ping命令,同樣也沒有收到回復,哨兵2也會將主服務器標記為SDOWN。這個時候,3個哨兵中有2個哨兵上報了SDOWN,哨兵們在彼此交流之后,認為已經(jīng)有足夠數(shù)量的實例證明該服務已經(jīng)不可用,因此,哨兵實例會將該服務器標記為客觀下線ODOWN。

這里的足夠數(shù)量是可配置的,一般是哨兵個數(shù)的一半加1,比如3個哨兵則就設置為2。

投票選舉,故障轉(zhuǎn)移

當哨兵實例將服務標記為客觀下線時,會進行一次選舉。在剩下的從服務器實例中,選出一個作為主節(jié)點,并同時修改其余從服務器的配置文件,將新的主節(jié)點作為數(shù)據(jù)同步的來源,然后重新啟動服務,完成切換。

至此,一個完整的哨兵自動進行故障轉(zhuǎn)移的過程就完成了。

springboot配置一主多從+哨兵

如果我們的環(huán)境由主從換成了主從+哨兵,修改配置也比較簡單,先注釋掉原來的host和port的配置,替換成哨兵的配置,如下圖:

通俗易懂講解redis的哨兵模式

需要注意的是,這里nodes里配置的是哨兵集群的IP+端口,而不是主從節(jié)點,一定不要配錯了。

責任編輯:姜華 來源: 今日頭條
相關推薦

2022-09-23 08:32:53

微服務架構服務

2020-08-11 10:40:31

裝飾者模式Java組件

2011-10-26 19:57:33

2019-06-19 08:30:47

網(wǎng)絡協(xié)議IPTCP

2020-06-08 10:50:58

前端TypeScript代碼

2023-01-06 09:40:20

項目性能

2021-06-21 15:57:08

微服務架構數(shù)據(jù)

2021-05-26 16:12:20

區(qū)塊鏈加密貨幣比特幣

2021-11-04 08:16:50

MySQL SQL 語句數(shù)據(jù)庫

2022-07-06 08:17:50

C 語言函數(shù)選型

2019-05-20 07:37:00

TCPIP網(wǎng)絡協(xié)議

2018-01-17 22:36:46

區(qū)塊鏈數(shù)字貨幣比特幣

2018-03-11 15:11:38

物聯(lián)網(wǎng)數(shù)據(jù)物聯(lián)網(wǎng)數(shù)據(jù)

2021-05-25 09:50:01

GitLinux命令

2021-05-30 19:02:59

變量對象上下文

2018-03-05 08:35:12

物聯(lián)網(wǎng)互聯(lián)網(wǎng)網(wǎng)絡技術

2021-05-13 13:20:00

Git命令Linux

2018-03-11 14:57:07

物聯(lián)網(wǎng)組網(wǎng)無線通信

2018-03-29 06:40:26

物聯(lián)網(wǎng)

2021-12-26 15:19:39

HTTPS網(wǎng)絡協(xié)議網(wǎng)絡傳輸
點贊
收藏

51CTO技術棧公眾號