一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫 - Redis - 淺談Redis哨兵模式的使用

淺談Redis哨兵模式的使用

2021-02-23 17:45將暮 Redis

這篇文章主要介紹了淺談Redis哨兵模式的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

概述

主從切換技術(shù)的方法是:當(dāng)主服務(wù)器宕機(jī)后,需要手動(dòng)把一臺(tái)從服務(wù)器切換為主服務(wù)器,這就需要人工 干預(yù),費(fèi)事費(fèi)力,還會(huì)造成一段時(shí)間內(nèi)服務(wù)不可用。這不是一種推薦的方式,更多時(shí)候,我們優(yōu)先考慮 哨兵模式Redis從2.8開始正式提供了Sentinel(哨兵) 架構(gòu)來解決這個(gè)問題。

謀朝篡位的自動(dòng)版,能夠后臺(tái)監(jiān)控主機(jī)是否故障,如果故障了根據(jù)投票數(shù)自動(dòng)將從庫轉(zhuǎn)換為主庫。

哨兵模式是一種特殊的模式,首先Redis提供了哨兵的命令,哨兵是一個(gè)獨(dú)立的進(jìn)程,作為進(jìn)程,它會(huì)獨(dú) 立運(yùn)行。其原理是哨兵通過發(fā)送命令,等待Redis服務(wù)器響應(yīng),從而監(jiān)控運(yùn)行的多個(gè)Redis實(shí)例。

淺談Redis哨兵模式的使用

這里的哨兵有兩個(gè)作用

通過發(fā)送命令,讓Redis服務(wù)器返回監(jiān)控其運(yùn)行狀態(tài),包括主服務(wù)器和從服務(wù)器。

當(dāng)哨兵監(jiān)測(cè)到master宕機(jī),會(huì)自動(dòng)將slave切換成master,然后通過發(fā)布訂閱模式通知其他的從服務(wù)器,修改配置文件,讓它們切換主機(jī)。

然而一個(gè)哨兵進(jìn)程對(duì)Redis服務(wù)器進(jìn)行監(jiān)控,可能會(huì)出現(xiàn)問題,為此,我們可以使用多個(gè)哨兵進(jìn)行監(jiān)控。 各個(gè)哨兵之間還會(huì)進(jìn)行監(jiān)控,這樣就形成了多哨兵模式。

淺談Redis哨兵模式的使用

假設(shè)主服務(wù)器宕機(jī),哨兵1先檢測(cè)到這個(gè)結(jié)果,系統(tǒng)并不會(huì)馬上進(jìn)行failover過程,僅僅是哨兵1主觀的認(rèn)為主服務(wù)器不可用,這個(gè)現(xiàn)象成為主觀下線

當(dāng)哨兵1檢測(cè)到主服務(wù)器宕機(jī)這是哨兵1認(rèn)為主服務(wù)器不可用為主觀下線。當(dāng)多個(gè)哨兵檢測(cè)到主服務(wù)器不可用,并且達(dá)到一定數(shù)量時(shí),就會(huì)投票選取新的主機(jī)這個(gè)過程稱為客觀下線

測(cè)試

 

1.當(dāng)前還是一主而從。6379為主機(jī),80,81為從機(jī)。配置哨兵配置文件 sentinel.conf

淺談Redis哨兵模式的使用

淺談Redis哨兵模式的使用

后面的這個(gè)數(shù)字1,代表主機(jī)掛了,slave投票看讓誰接替成為主機(jī),票數(shù)最多的,就會(huì)成為主機(jī)!

2.啟動(dòng)哨兵redis-sentinel kconfig/sentinel.conf

淺談Redis哨兵模式的使用

3.關(guān)閉6379主機(jī),查看信息

淺談Redis哨兵模式的使用

淺談Redis哨兵模式的使用

淺談Redis哨兵模式的使用

4.6379重新開機(jī),查看信息

淺談Redis哨兵模式的使用

淺談Redis哨兵模式的使用

結(jié)論:

 

當(dāng)啟用哨兵模式之后,主機(jī)如果意外宕機(jī),哨兵監(jiān)測(cè)到主機(jī)出現(xiàn)故障,會(huì)發(fā)起投票選出新的主機(jī),并把已有的從機(jī)全部綁定到新選出的從機(jī),包括宕機(jī)掉的舊主機(jī)也變成了新主機(jī)的從機(jī)。所以當(dāng)舊主機(jī)重新開機(jī)之后,查看信息就發(fā)現(xiàn)變成了新主機(jī)的從機(jī)。

優(yōu)缺點(diǎn)

優(yōu)點(diǎn)

1.哨兵集群,基于主從復(fù)制模式,所有的主從配置優(yōu)點(diǎn)
它全有主從可以切換,故障可以轉(zhuǎn)移,系統(tǒng)的可用性就會(huì)更好
2.哨兵模式就是主從模式的升級(jí),手動(dòng)到自動(dòng),更加健壯!

缺點(diǎn)

Redis 不好啊在線擴(kuò)容的,集群容量一旦到達(dá)上限,在線擴(kuò)容就十分麻煩!

實(shí)現(xiàn)哨兵模式的配置其實(shí)是很麻煩的,里面有很多選擇!

哨兵模式的全部配置

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# Example sentinel.conf
# 哨兵sentinel實(shí)例運(yùn)行的端口 默認(rèn)26379
port 26379
# 哨兵sentinel的工作目錄
dir /tmp
# 哨兵sentinel監(jiān)控的redis主節(jié)點(diǎn)的 ip port
# master-name 可以自己命名的主節(jié)點(diǎn)名字 只能由字母A-z、數(shù)字0-9 、這三個(gè)字符".-_"組成。
# quorum 配置多少個(gè)sentinel哨兵統(tǒng)一認(rèn)為master主節(jié)點(diǎn)失聯(lián) 那么這時(shí)客觀上認(rèn)為主節(jié)點(diǎn)失聯(lián)了
# sentinel monitor <master-name> <ip> <redis-port> <quorum>
sentinel monitor mymaster 127.0.0.1 6379 2
# 當(dāng)在Redis實(shí)例中開啟了requirepass foobared 授權(quán)密碼 這樣所有連接Redis實(shí)例的客戶端都要提供密碼
# 設(shè)置哨兵sentinel 連接主從的密碼 注意必須為主從設(shè)置一樣的驗(yàn)證密碼
# sentinel auth-pass <master-name> <password>
sentinel auth-pass mymaster MySUPER--secret-0123passw0rd
# 指定多少毫秒之后 主節(jié)點(diǎn)沒有應(yīng)答哨兵sentinel 此時(shí) 哨兵主觀上認(rèn)為主節(jié)點(diǎn)下線 默認(rèn)30秒
# sentinel down-after-milliseconds <master-name> <milliseconds>
sentinel down-after-milliseconds mymaster 30000
# 這個(gè)配置項(xiàng)指定了在發(fā)生failover主備切換時(shí)最多可以有多少個(gè)slave同時(shí)對(duì)新的master進(jìn)行 同步,這個(gè)數(shù)字越小,完成failover所需的時(shí)間就越長(zhǎng),但是如果這個(gè)數(shù)字越大,就意味著越 多的slave因?yàn)閞eplication而不可用。可以通過將這個(gè)值設(shè)為 1 來保證每次只有一個(gè)slave 處于不能處理命令請(qǐng)求的狀態(tài)。
# sentinel parallel-syncs <master-name> <numslaves>
sentinel parallel-syncs mymaster 1
# 故障轉(zhuǎn)移的超時(shí)時(shí)間 failover-timeout 可以用在以下這些方面:
#1. 同一個(gè)sentinel對(duì)同一個(gè)master兩次failover之間的間隔時(shí)間。
#2. 當(dāng)一個(gè)slave從一個(gè)錯(cuò)誤的master那里同步數(shù)據(jù)開始計(jì)算時(shí)間。直到slave被糾正為向正確的master那里同步數(shù)據(jù)時(shí)。
#3.當(dāng)想要取消一個(gè)正在進(jìn)行的failover所需要的時(shí)間。
#4.當(dāng)進(jìn)行failover時(shí),配置所有slaves指向新的master所需的最大時(shí)間。不過,即使過了這個(gè)超時(shí),slaves依然會(huì)被正確配置為指向master,但是就不按parallel-syncs所配置的規(guī)則來了
# 默認(rèn)三分鐘
# sentinel failover-timeout <master-name> <milliseconds>
sentinel failover-timeout mymaster 180000
# SCRIPTS EXECUTION
#配置當(dāng)某一事件發(fā)生時(shí)所需要執(zhí)行的腳本,可以通過腳本來通知管理員,例如當(dāng)系統(tǒng)運(yùn)行不正常時(shí)發(fā)郵件通知相關(guān)人員。
#對(duì)于腳本的運(yùn)行結(jié)果有以下規(guī)則:
#若腳本執(zhí)行后返回1,那么該腳本稍后將會(huì)被再次執(zhí)行,重復(fù)次數(shù)目前默認(rèn)為10
#若腳本執(zhí)行后返回2,或者比2更高的一個(gè)返回值,腳本將不會(huì)重復(fù)執(zhí)行。
#如果腳本在執(zhí)行過程中由于收到系統(tǒng)中斷信號(hào)被終止了,則同返回值為1時(shí)的行為相同。
#一個(gè)腳本的最大執(zhí)行時(shí)間為60s,如果超過這個(gè)時(shí)間,腳本將會(huì)被一個(gè)SIGKILL信號(hào)終止,之后重新執(zhí)行。
#通知型腳本:當(dāng)sentinel有任何警告級(jí)別的事件發(fā)生時(shí)(比如說redis實(shí)例的主觀失效和客觀失效等等),將會(huì)去調(diào)用這個(gè)腳本,這時(shí)這個(gè)腳本應(yīng)該通過郵件,SMS等方式去通知系統(tǒng)管理員關(guān)于系統(tǒng)不正常運(yùn)行的信息。調(diào)用該腳本時(shí),將傳給腳本兩個(gè)參數(shù),一個(gè)是事件的類型,一個(gè)是事件的描述。如果sentinel.conf配置文件中配置了這個(gè)腳本路徑,那么必須保證這個(gè)腳本存在于這個(gè)路徑,并且是可執(zhí)行的,否則sentinel無法正常啟動(dòng)成功。
#通知腳本
# shell編程
# sentinel notification-script <master-name> <script-path>
sentinel notification-script mymaster /var/redis/notify.sh
# 客戶端重新配置主節(jié)點(diǎn)參數(shù)腳本
# 當(dāng)一個(gè)master由于failover而發(fā)生改變時(shí),這個(gè)腳本將會(huì)被調(diào)用,通知相關(guān)的客戶端關(guān)于master地址已
經(jīng)發(fā)生改變的信息。
# 以下參數(shù)將會(huì)在調(diào)用腳本時(shí)傳給腳本:
# <master-name> <role> <state> <from-ip> <from-port> <to-ip> <to-port>
# 目前<state>總是“failover”,
# <role>是“leader”或者“observer”中的一個(gè)。
# 參數(shù) from-ip, from-port, to-ip, to-port是用來和舊的master和新的master(即舊的slave)通信的
# 這個(gè)腳本應(yīng)該是通用的,能被多次調(diào)用,不是針對(duì)性的。
# sentinel client-reconfig-script <master-name> <script-path>
sentinel client-reconfig-script mymaster /var/redis/reconfig.sh # 一般都是由運(yùn)維來配置!

到此這篇關(guān)于淺談Redis哨兵模式的使用的文章就介紹到這了,更多相關(guān)Redis哨兵模式 內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

本文鏈接:https://blog.csdn.net/wsad861512140/article/details/106544251

延伸 · 閱讀

精彩推薦
  • Redisredis中如何使用lua腳本讓你的靈活性提高5個(gè)逼格詳解

    redis中如何使用lua腳本讓你的靈活性提高5個(gè)逼格詳解

    這篇文章主要給大家介紹了關(guān)于redis中如何使用lua腳本讓你的靈活性提高5個(gè)逼格的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具...

    一線碼農(nóng)5812019-11-18
  • RedisRedis如何實(shí)現(xiàn)數(shù)據(jù)庫讀寫分離詳解

    Redis如何實(shí)現(xiàn)數(shù)據(jù)庫讀寫分離詳解

    Redis的主從架構(gòu),能幫助我們實(shí)現(xiàn)讀多,寫少的情況,下面這篇文章主要給大家介紹了關(guān)于Redis如何實(shí)現(xiàn)數(shù)據(jù)庫讀寫分離的相關(guān)資料,文中通過示例代碼介紹...

    羅兵漂流記6092019-11-11
  • Redisredis 交集、并集、差集的具體使用

    redis 交集、并集、差集的具體使用

    這篇文章主要介紹了redis 交集、并集、差集的具體使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友...

    xiaojin21cen10152021-07-27
  • Redis詳解Redis復(fù)制原理

    詳解Redis復(fù)制原理

    與大多數(shù)db一樣,Redis也提供了復(fù)制機(jī)制,以滿足故障恢復(fù)和負(fù)載均衡等需求。復(fù)制也是Redis高可用的基礎(chǔ),哨兵和集群都是建立在復(fù)制基礎(chǔ)上實(shí)現(xiàn)高可用的...

    李留廣10222021-08-09
  • RedisRedis 事務(wù)知識(shí)點(diǎn)相關(guān)總結(jié)

    Redis 事務(wù)知識(shí)點(diǎn)相關(guān)總結(jié)

    這篇文章主要介紹了Redis 事務(wù)相關(guān)總結(jié),幫助大家更好的理解和學(xué)習(xí)使用Redis,感興趣的朋友可以了解下...

    AsiaYe8232021-07-28
  • Redisredis實(shí)現(xiàn)排行榜功能

    redis實(shí)現(xiàn)排行榜功能

    排行榜在很多地方都能使用到,redis的zset可以很方便地用來實(shí)現(xiàn)排行榜功能,本文就來簡(jiǎn)單的介紹一下如何使用,具有一定的參考價(jià)值,感興趣的小伙伴們...

    乘月歸5022021-08-05
  • RedisRedis的配置、啟動(dòng)、操作和關(guān)閉方法

    Redis的配置、啟動(dòng)、操作和關(guān)閉方法

    今天小編就為大家分享一篇Redis的配置、啟動(dòng)、操作和關(guān)閉方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧 ...

    大道化簡(jiǎn)5312019-11-14
  • RedisRedis全量復(fù)制與部分復(fù)制示例詳解

    Redis全量復(fù)制與部分復(fù)制示例詳解

    這篇文章主要給大家介紹了關(guān)于Redis全量復(fù)制與部分復(fù)制的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Redis爬蟲具有一定的參考學(xué)習(xí)...

    豆子先生5052019-11-27
主站蜘蛛池模板: 日韩日韩日韩手机看片自拍 | 大叔在线观看 | 久久re这里精品23 | 福利一区三区 | 我的年轻漂亮继坶三级 | 精品久久久久久午夜 | 日韩一级欧美一级一级国产 | 91高跟丝袜 | 色天天久久 | 四虎影视e456fcom四虎影视 | 久久亚洲伊人 | 日产国产精品亚洲系列 | 超级乱淫伦短篇小说做车 | 精品免费看 | 奇米视频7777 | 邪恶肉肉全彩色无遮盖 | 欧美不卡一区二区三区 | 国产短视频精品一区二区三区 | 果冻传媒在线完整免费观 | 涩涩五月天 | 国产精品二区高清在线 | 亚洲 日本 天堂 国产 在线 | 欧美日韩一区二区综合在线视频 | 青青草国产青春综合久久 | 精品国语国产在线对白 | 午夜私人影院在线观看 视频 | 天天草b | 国产成人www | 色综合天天综合中文网 | 性欧美xxxxx老太婆 | 免费一级特黄特色大片 | 护士伦理片 | 久久re这里精品在线视频7 | 操操小说| 国产女乱淫真高清免费视频 | 大乳一级一区二区三区 | 肠交女王magnet | 精品国产欧美一区二区五十路 | 我在厨房摸岳的乳HD在线观看 | chinaese中国女人厕所小便 | 美妇在男人胯下哀求 |