<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Redis 哨兵模式的原理及其搭建

      1.Redis哨兵

      Redis提供了哨兵(Sentinel)機制來實現(xiàn)主從集群的自動故障恢復。

      1.1.哨兵原理

      1.1.1.集群結構和作用

      哨兵的結構如圖:

      哨兵的作用如下:

      • 監(jiān)控:Sentinel 會不斷檢查您的master和slave是否按預期工作。

      • 自動故障恢復:如果master故障,Sentinel會將一個slave提升為master。當故障實例恢復后也以新的master為主。

      • 通知:Sentinel充當Redis客戶端的服務發(fā)現(xiàn)來源,當集群發(fā)生故障轉(zhuǎn)移時,會將最新信息推送給Redis的客戶端。

      1.1.2.集群監(jiān)控原理

      • Sentinel基于心跳機制監(jiān)測服務狀態(tài),每隔1秒向集群的每個實例發(fā)送ping命令。

      • 主觀下線:如果某sentinel節(jié)點發(fā)現(xiàn)某實例未在規(guī)定時間響應,則認為該實例主觀下線

      • 客觀下線:若超過指定數(shù)量(quorum)的sentinel都認為該實例主觀下線,則該實例客觀下線。quorum值最好超過Sentinel實例數(shù)量的一半。

      1.1.3.集群故障恢復原理

      一旦發(fā)現(xiàn)master故障,sentinel需要在salve中選擇一個作為新的master,選擇依據(jù)是這樣的:

      • 首先會判斷slave節(jié)點與master節(jié)點斷開時間長短,如果超過指定值(down-after-milliseconds * 10)則會排除該slave節(jié)點。

      • 然后判斷slave節(jié)點的slave-priority值,越小優(yōu)先級越高,如果是0則永不參與選舉。

      • 如果slave-prority一樣,則判斷slave節(jié)點的offset值,越大說明數(shù)據(jù)越新,優(yōu)先級越高。

      • 最后是判斷slave節(jié)點的運行id大小,越小優(yōu)先級越高。

      當選出一個新的master后,該如何實現(xiàn)切換呢?

      流程如下:

      • sentinel給備選的slave1節(jié)點發(fā)送slaveof no one命令,讓該節(jié)點成為master。

      • sentinel給所有其它slave發(fā)送slaveof 192.168.150.101 7002 命令,讓這些slave成為新master的從節(jié)點,開始從新的master上同步數(shù)據(jù)。

      • 最后,sentinel將故障節(jié)點標記為slave,當故障節(jié)點恢復后會自動成為新的master的slave節(jié)點

      1.1.4.總結

      Sentinel的三個作用是什么?

      • 監(jiān)控
      • 故障轉(zhuǎn)移
      • 通知

      Sentinel如何判斷一個redis實例是否健康?

      • 每隔1秒發(fā)送一次ping命令,如果超過一定時間沒有相向則認為是主觀下線
      • 如果大多數(shù)sentinel都認為實例主觀下線,則判定服務下線

      故障轉(zhuǎn)移步驟有哪些?

      • 首先選定一個slave作為新的master,執(zhí)行slaveof no one
      • 然后讓所有節(jié)點都執(zhí)行slaveof 新master
      • 修改故障節(jié)點配置,添加slaveof 新master

      1.2.搭建哨兵集群

      1.2.1.集群結構

      這里搭建一個三節(jié)點形成的Sentinel集群,來監(jiān)管之前的Redis主從集群。如圖:

      三個sentinel實例信息如下:

      節(jié)點 IP PORT
      s1 192.168.150.101 27001
      s2 192.168.150.101 27002
      s3 192.168.150.101 27003

      1.2.2.準備實例和配置

      要在同一臺虛擬機開啟3個實例,必須準備三份不同的配置文件和目錄,配置文件所在目錄也就是工作目錄。

      創(chuàng)建三個文件夾,名字分別叫s1、s2、s3:

      # 進入/tmp目錄
      cd /tmp
      # 創(chuàng)建目錄
      mkdir s1 s2 s3
      

      如圖:

      然后我們在s1目錄創(chuàng)建一個sentinel.conf文件,添加下面的內(nèi)容:

      port 27001
      sentinel announce-ip 192.168.150.101
      sentinel monitor mymaster 192.168.150.101 7001 2
      sentinel down-after-milliseconds mymaster 5000
      sentinel failover-timeout mymaster 60000
      dir "/tmp/s1"
      

      解讀:

      • port 27001:是當前sentinel實例的端口
      • sentinel monitor mymaster 192.168.150.101 7001 2:指定主節(jié)點信息
        • mymaster:主節(jié)點名稱,自定義,任意寫
        • 192.168.150.101 7001:主節(jié)點的ip和端口
        • 2:選舉master時的quorum值

      然后將s1/sentinel.conf文件拷貝到s2、s3兩個目錄中(在/tmp目錄執(zhí)行下列命令):

      # 方式一:逐個拷貝
      cp s1/sentinel.conf s2
      cp s1/sentinel.conf s3
      # 方式二:管道組合命令,一鍵拷貝
      echo s2 s3 | xargs -t -n 1 cp s1/sentinel.conf
      

      修改s2、s3兩個文件夾內(nèi)的配置文件,將端口分別修改為27002、27003:

      sed -i -e 's/27001/27002/g' -e 's/s1/s2/g' s2/sentinel.conf
      sed -i -e 's/27001/27003/g' -e 's/s1/s3/g' s3/sentinel.conf
      

      1.2.3.啟動

      為了方便查看日志,我們打開3個ssh窗口,分別啟動3個redis實例,啟動命令:

      # 第1個
      redis-sentinel s1/sentinel.conf
      # 第2個
      redis-sentinel s2/sentinel.conf
      # 第3個
      redis-sentinel s3/sentinel.conf
      

      啟動后:

      1.2.4.測試

      嘗試讓master節(jié)點7001宕機,查看sentinel日志:

      查看7003的日志:

      查看7002的日志:

      posted @ 2023-11-09 09:09  講文張字  閱讀(1006)  評論(0)    收藏  舉報
      返回頂部
      主站蜘蛛池模板: 天堂a无码a无线孕交| 精品人妻av中文字幕乱| 女女互揉吃奶揉到高潮视频| 97免费人妻在线视频| 福利一区二区1000| 中文字幕永久精品国产| 独山县| 综合在线 亚洲 成人 欧美 | 久久www免费人成看片中文| 精品一区二区三区无码视频| 视频一区二区三区在线视频| 国产成人亚洲日韩欧美| 午夜久久水蜜桃一区二区| 国产精品日日摸夜夜添夜夜添无码 | 精品国产综合一区二区三区| 各种少妇wbb撒尿| 2021国产精品视频网站| 日韩亚av无码一区二区三区 | 日本欧美大码a在线观看| 西西人体大胆444WWW| 炎陵县| 人妻聚色窝窝人体WWW一区| 久久久这里只有精品10| 国产色无码专区在线观看| 国内自拍av在线免费| 亚洲欧美偷国产日韩| 国产偷自一区二区三区在线| 精品黄色av一区二区三区| 99在线精品视频观看免费| 国内视频偷拍久久伊人网| 韩国精品福利视频一区二区| 久久香蕉国产线看观看怡红院妓院| 日本丰满老妇bbb| 久久天天躁狠狠躁夜夜躁2o2o| 国产成人无码一区二区三区| 午夜免费无码福利视频麻豆| 91亚洲国产成人精品福利| 特级av毛片免费观看| 国产漂亮白嫩美女在线观看| 中文字幕人妻av12| 日日碰狠狠添天天爽|