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

Spring sentinel哨兵模式相關(guān)原理解析

 更新時(shí)間:2020年11月04日 09:30:54   作者:周曉楠  
這篇文章主要介紹了Spring sentinel哨兵模式相關(guān)原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

1. sentinel作用

1. 當(dāng)用Redis做主從方案時(shí),假如master宕機(jī),Redis本身無法自動(dòng)進(jìn)行主備切換

2. 而Redis-sentinel本身也是一個(gè)獨(dú)立運(yùn)行的進(jìn)程,它能監(jiān)控多個(gè)master-slave集群,發(fā)現(xiàn)master宕機(jī)后能進(jìn)行自動(dòng)切換。

2. sentinel原理

1. sentinel負(fù)責(zé)持續(xù)監(jiān)控主節(jié)點(diǎn)的健康,當(dāng)主節(jié)掛掉時(shí),自動(dòng)選擇一個(gè)最優(yōu)的從節(jié)點(diǎn)切換成主節(jié)點(diǎn)

2. 從節(jié)點(diǎn)來連接集群時(shí)會(huì)首先連接sentinel,通過sentinel來查詢主節(jié)點(diǎn)的地址

3. 當(dāng)主節(jié)點(diǎn)發(fā)生故障時(shí),sentinel會(huì)將最新的主節(jié)點(diǎn)地址告訴客戶端,可以實(shí)現(xiàn)無需重啟自動(dòng)切換redis

3. Sentinel支持集群

1. 只使用單個(gè)sentinel進(jìn)程來監(jiān)控redis集群是不可靠的,當(dāng)sentinel進(jìn)程宕掉后sentinel本身也有單點(diǎn)問題

2. 如果有多個(gè)sentinel,redis的客戶端可以隨意地連接任意一個(gè)sentinel來獲得關(guān)于redis集群中的信息。

4. Sentinel版本

1. Sentinel當(dāng)前穩(wěn)定版本稱為Sentinel 2,Redis2.8和Redis3.0附帶穩(wěn)定的哨兵版本

2. 安裝完redis-3.2.8后,redis-3.2.8/src/redis-sentinel啟動(dòng)程序 redis-3.2.8/sentinel.conf是配置文件。

5. 運(yùn)行sentinel兩種方式(效果相同)

法1:redis-sentinel /path/to/sentinel.conf

法2:redis-server /path/to/sentinel.conf --sentinel

1. 以上兩種方式,都必須指定一個(gè)sentinel的配置文件sentinel.conf,如果不指定,將無法啟動(dòng)sentinel。

2. sentinel默認(rèn)監(jiān)聽26379端口,所以運(yùn)行前必須確定該端口沒有被別的進(jìn)程占用。

6. sentinel.conf配置文件說明

1. 配置文件只需要配置master的信息就好啦,不用配置slave的信息,因?yàn)閟lave能夠被自動(dòng)檢測(cè)到

2. 需要注意的是,配置文件在sentinel運(yùn)行期間是會(huì)被動(dòng)態(tài)修改的,例如當(dāng)發(fā)生主備切換時(shí)候,配置文件中的master會(huì)被修改為另外一個(gè)slave。

3. 這樣,之后sentinel如果重啟時(shí),就可以根據(jù)這個(gè)配置來恢復(fù)其之前所監(jiān)控的redis集群的狀態(tài)。

# sentinel.conf 配置說明
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 60000
sentinel failover-timeout mymaster 180000
sentinel parallel-syncs mymaster 1

7. 配置傳播

1. 一旦一個(gè)sentinel成功地對(duì)一個(gè)master進(jìn)行了failover,它將會(huì)把關(guān)于master的最新配置通過廣播形式通知其它sentinel,其它的sentinel則更新對(duì)應(yīng)master的配置。

2. 一個(gè)faiover要想被成功實(shí)行,sentinel必須能夠向選為master的slave發(fā)送SLAVE OF NO ONE命令,然后能夠通過INFO命令看到新master的配置信息。

3. 當(dāng)將一個(gè)slave選舉為master并發(fā)送SLAVE OF NO ONE`后,即使其它的slave還沒針對(duì)新master重新配置自己,failover也被認(rèn)為是成功了的。

因?yàn)槊恳粋€(gè)配置都有一個(gè)版本號(hào),所以以版本號(hào)最大的那個(gè)為標(biāo)準(zhǔn):

  1)假設(shè)有一個(gè)名為mymaster的地址為192.168.1.50:6379。

  2)一開始,集群中所有的sentinel都知道這個(gè)地址,于是為mymaster的配置打上版本號(hào)1。

  3)一段時(shí)候后mymaster死了,有一個(gè)sentinel被授權(quán)用版本號(hào)2對(duì)其進(jìn)行failover。

  4)如果failover成功了,假設(shè)地址改為了192.168.1.50:9000,此時(shí)配置的版本號(hào)為2

  5)進(jìn)行failover的sentinel會(huì)將新配置廣播給其他的sentinel,發(fā)現(xiàn)新配置的版本號(hào)為2時(shí),版本號(hào)變大了,說明配置更新了,于是就會(huì)采用最新的版本號(hào)為2的配置。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java switch多值匹配操作詳解

    Java switch多值匹配操作詳解

    這篇文章主要介紹了Java switch多值匹配操作詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Hibernate一級(jí)緩存和二級(jí)緩存詳解

    Hibernate一級(jí)緩存和二級(jí)緩存詳解

    今天小編就為大家分享一篇關(guān)于Hibernate一級(jí)緩存和二級(jí)緩存詳解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • 微信支付之公眾號(hào)支付(java實(shí)現(xiàn))

    微信支付之公眾號(hào)支付(java實(shí)現(xiàn))

    這篇文章主要介紹了微信支付之公眾號(hào)支付(java實(shí)現(xiàn)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 使用Jackson 處理 null 或者 空字符串

    使用Jackson 處理 null 或者 空字符串

    這篇文章主要介紹了使用Jackson 處理 null 或者 空字符串,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • SpringMVC實(shí)現(xiàn)參數(shù)校驗(yàn)配置方法

    SpringMVC實(shí)現(xiàn)參數(shù)校驗(yàn)配置方法

    這篇文章主要介紹了SpringMVC實(shí)現(xiàn)參數(shù)校驗(yàn)的配置方式,Spring MVC會(huì)拋出MethodArgumentNotValidException異常,并將錯(cuò)誤信息綁定到相應(yīng)的字段上,感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • IDEA使用GsonFormat完成JSON和JavaBean之間的轉(zhuǎn)換

    IDEA使用GsonFormat完成JSON和JavaBean之間的轉(zhuǎn)換

    這篇文章主要介紹了IDEA使用GsonFormat完成JSON和JavaBean之間的轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Java基礎(chǔ)之重載(Overload)與重寫(Override)詳解

    Java基礎(chǔ)之重載(Overload)與重寫(Override)詳解

    這篇文章主要介紹了Java基礎(chǔ)之重載(Overload)與重寫(Override)詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • Java并發(fā)實(shí)例之CyclicBarrier的使用

    Java并發(fā)實(shí)例之CyclicBarrier的使用

    這篇文章主要介紹了Java并發(fā)實(shí)例之CyclicBarrier的使用,涉及CyclicBarrier的介紹,以及相關(guān)的并發(fā)實(shí)例,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • 詳解Java中格式化日期的DateFormat與SimpleDateFormat類

    詳解Java中格式化日期的DateFormat與SimpleDateFormat類

    DateFormat其本身是一個(gè)抽象類,SimpleDateFormat 類是DateFormat類的子類,一般情況下來講DateFormat類很少會(huì)直接使用,而都使用SimpleDateFormat類完成,下面我們具體來看一下兩個(gè)類的用法:
    2016-05-05
  • SpringSecurity中內(nèi)置過濾器的使用小結(jié)

    SpringSecurity中內(nèi)置過濾器的使用小結(jié)

    SpringSecurity通過其復(fù)雜的過濾器鏈機(jī)制,為Java應(yīng)用提供了全面的安全防護(hù),本文主要介紹了SpringSecurity中內(nèi)置過濾器的使用小結(jié),感性的可以了解一下
    2025-03-03

最新評(píng)論

保德县| 静乐县| 新疆| 工布江达县| 兰西县| 云南省| 普安县| 阿勒泰市| 鄂托克旗| 宿迁市| 固阳县| 彩票| 建阳市| 太湖县| 霍林郭勒市| 兖州市| 长葛市| 金湖县| 泊头市| 巴马| 嘉黎县| 浠水县| 井陉县| 巴彦县| 关岭| 雷州市| 铁岭市| 惠水县| 常熟市| 德江县| 辉南县| 英吉沙县| 铅山县| 女性| 濮阳县| 盐津县| 上饶市| 南充市| 元氏县| 治县。| 汉阴县|