青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Benjamin

靜以修身,儉以養德,非澹薄無以明志,非寧靜無以致遠。
隨筆 - 398, 文章 - 0, 評論 - 196, 引用 - 0
數據加載中……

Redis集群的Sentinel(哨兵)模式的搭建

一、哨兵模式整體架構:主從結構+哨兵(sentinel),實現容災的自動切換。
      一個主節點(master)可擁有多個從節點(slave),從節點實現對主節點的復制,保證數據同步。而哨兵(sentinel)則對各節點進行監控,主要包括主節點存活檢測、主從運行情況檢測等,一旦主節點宕機,哨兵可自動進行故障轉移 (failover)、主從切換通常建議至少部署三個哨兵實例,這樣即使一個哨兵實例發生故障,其他兩個可以繼續進行故障檢測和轉移決策


二、主從配置
:
1配置文件中的各個參數,詳解
2、主機(master)配置:
bind:0.0.0.0   #表示允許所有遠程訪問。如果想指定限制訪問,可設置對應的 ip。
port:6379 #關閉保護模式,可以外部訪問。 
daemonize:yes # 設置為后臺啟動。
logfile:./redis.log # 日志文件。
requirepass:pwdtest@2019   #設置 redis 連接密碼。
masterauth:pwdtest@2019    #slave 服務連接 master 的密碼

3、從機(slave)的配置和主機相似,不同的地方是需要使用replicaof指定主機(master)的IP地址和端口,需要注意的是老版本使用的是 slaveof
當本機為 slave 服務時,設置 master 服務的IP地址及端口,在 redis 啟動的時候會自動跟 master 進行數據同步
4、啟動:
切換到 bin 目錄,使用./redis-server即可啟動 redis 服務,但是這種方式沒有指明配置文件,redis 將采用默認配置,所以我們需要讓 redis 按照我們的配置文件來啟動,啟動時指定剛才我們復制到 etc 文件夾下的redis.conf
三、Sentinel(哨兵)模式:
1、哨兵模式詳解
    Redis Sentinel是Redis 的高可用性解決方案,由一個或多個Sentinel(哨兵)實例組成。它可以監視任意多個主服務器,以及這些主服務器屬下的所有從服務器,并在被監視的主服務器進入下線狀態時,自動將下線主服務器屬下的某個從服務器升級為新的主服務器,它的主要功能如下:
    監控(Monitoring):Sentinel會不斷地檢查你的主服務器和從服務器是否運作正常。
    通知(Notification):當被監控的某個 Redis 服務器出現問題時, Sentinel可以通過API向管理員或者其他應用程序發送通知。
    故障遷移:當主服務器不能正常工作時,Sentinel會自動進行故障遷移,也就是主從切換。
     統一的配置管理:連接者詢問sentinel取得主從的地址。

2、原理:
     Sentinel 使用的算法核心是 Raft 算法,主要用途就是用于分布式系統,系統容錯,以及Leader選舉,每個Sentinel都需要定期的執行以下任務:
          每個 Sentinel 會自動發現其他 Sentinel 和從服務器,它以每秒鐘一次的頻率向它所知的主服務器、從服務器以及其他 Sentinel 實例發送一個 PING 命令。
          如果一個實例(instance)距離最后一次有效回復 PING 命令的時間超過 down-after-milliseconds 選項所指定的值, 那么這個實例會被 Sentinel 標記為主觀下線。 有效回復可以是: +PONG 、 -LOADING 或者 -MASTERDOWN 。
           如果一個主服務器被標記為主觀下線, 那么正在監視這個主服務器的所有Sentinel要以每秒一次的頻率確認主服務器的確進入了主觀下線狀態。
           如果一個主服務器被標記為主觀下線, 并且有足夠數量的Sentinel(至少要達到配置文件指定的數量)在指定的時間范圍內同意這一判斷, 那么這個主服務器被標記為客觀下線。
            在一般情況下, 每個Sentinel會以每 10 秒一次的頻率向它已知的所有主服務器和從服務器發送 INFO 命令。 當一個主服務器被Sentinel標記為客觀下線時,Sentinel向下線主服務器的所有從服務器發送 INFO 命令的頻率會從 10 秒一次改為每秒一次。
            當沒有足夠數量的Sentinel同意主服務器已經下線, 主服務器的客觀下線狀態就會被移除。 當主服務器重新向Sentinel的 PING 命令返回有效回復時, 主服務器的主管下線狀態就會被移除。
 3、哨兵的配置主要就是修改sentinel.conf配置文件中的參數,在Redis安裝目錄即可看到此配置文件

# 哨兵sentinel實例運行的端口,默認26379  
port 26379
# 哨兵sentinel的工作目錄
dir ./
# 是否開啟保護模式,默認開啟。
protected-mode:no
# 是否設置為后臺啟動。
daemonize:yes

# 哨兵sentinel的日志文件
logfile:./sentinel.log

# 哨兵sentinel監控的redis主節點的 
## ip:主機ip地址
## port:哨兵端口號
## master-name:可以自己命名的主節點名字(只能由字母A-z、數字0-9 、這三個字符".-_"組成。)
## quorum:當這些quorum個數sentinel哨兵認為master主節點失聯 那么這時 客觀上認為主節點失聯了  
# sentinel monitor <master-name> <ip> <redis-port> <quorum>  
sentinel monitor mymaster 127.0.0.1 6379 2

# 當在Redis實例中開啟了requirepass,所有連接Redis實例的客戶端都要提供密碼。
# sentinel auth-pass <master-name> <password>  
sentinel auth-pass mymaster 123456  

# 指定主節點應答哨兵sentinel的最大時間間隔,超過這個時間,哨兵主觀上認為主節點下線,默認30秒  
# sentinel down-after-milliseconds <master-name> <milliseconds>
sentinel down-after-milliseconds mymaster 30000  

# 指定了在發生failover主備切換時,最多可以有多少個slave同時對新的master進行同步。這個數字越小,完成failover所需的時間就越長;反之,但是如果這個數字越大,就意味著越多的slave因為replication而不可用。可以通過將這個值設為1,來保證每次只有一個slave,處于不能處理命令請求的狀態。
# sentinel parallel-syncs <master-name> <numslaves>
sentinel parallel-syncs mymaster 1  

# 故障轉移的超時時間failover-timeout,默認三分鐘,可以用在以下這些方面:
## 1. 同一個sentinel對同一個master兩次failover之間的間隔時間。  
## 2. 當一個slave從一個錯誤的master那里同步數據時開始,直到slave被糾正為從正確的master那里同步數據時結束。  
## 3. 當想要取消一個正在進行的failover時所需要的時間。
## 4.當進行failover時,配置所有slaves指向新的master所需的最大時間。不過,即使過了這個超時,slaves依然會被正確配置為指向master,但是就不按parallel-syncs所配置的規則來同步數據了
# sentinel failover-timeout <master-name> <milliseconds>  
sentinel failover-timeout mymaster 180000

# 當sentinel有任何警告級別的事件發生時(比如說redis實例的主觀失效和客觀失效等等),將會去調用這個腳本。一個腳本的最大執行時間為60s,如果超過這個時間,腳本將會被一個SIGKILL信號終止,之后重新執行。
# 對于腳本的運行結果有以下規則:  
## 1. 若腳本執行后返回1,那么該腳本稍后將會被再次執行,重復次數目前默認為10。
## 2. 若腳本執行后返回2,或者比2更高的一個返回值,腳本將不會重復執行。  
## 3. 如果腳本在執行過程中由于收到系統中斷信號被終止了,則同返回值為1時的行為相同。
# sentinel notification-script <master-name> <script-path>  
sentinel notification-script mymaster /var/redis/notify.sh

# 這個腳本應該是通用的,能被多次調用,不是針對性的。
# sentinel client-reconfig-script <master-name> <script-path>
sentinel client-reconfig-script mymaster /var/redis/

 4、搭建:編輯 sentinel.conf,配置文件修改如
//端口默認為26379。 port:26379 //關閉保護模式,可以外部訪問。 protected-mode:no //設置為后臺啟動。 daemonize:yes //日志文件。 logfile:./sentinel.log //指定主機IP地址和端口,并且指定當有2臺哨兵認為主機掛了,則對主機進行容災切換。 sentinel monitor mymaster 192.168.231.130 6379 2 //當在Redis實例中開啟了requirepass,這里就需要提供密碼。 sentinel auth-pass mymaster pwdtest@2019 //這里設置了主機多少秒無響應,則認為掛了。 sentinel down-after-milliseconds mymaster 3000 //主備切換時,最多有多少個slave同時對新的master進行同步,這里設置為默認的1。 sentinel parallel-syncs mymaster 1 //故障轉移的超時時間,這里設置為三分鐘。 sentinel failover-timeout mymaster 180000

 5、啟動:redis-sentinel ./entinel.conf(配置文件路徑)
三、缺點:
資源使用:每個 Sentinel 實例也會占用系統資源,包括 CPU 和內存,尤其是在大型集群中。
網絡依賴性:Sentinel 的效果很大程度上依賴于網絡的可靠性。網絡分區或是延遲高的情況可能會導致誤判或故障轉移延遲。
冷啟動問題:如果所有 Redis 節點同時宕機,Sentinel 系統無法自動恢復,需要手動干預來重新設置主節點和從節點。
數據丟失風險:在發生故障轉移時,如果還有未同步到從節點的數據,那么這部分數據可能會丟失。這是因為 Redis 使用異步復制。
四、寫操作局限性
單點瓶頸在一主多從架構中,所有寫操作都必須由主節點處理。這意味著主節點的處理能力和資源(CPU、內存、網絡帶寬)將直接限制系統的寫入吞吐量。
數據同步延遲盡管從節點可以提供讀擴展性,它們依賴于與主節點的數據同步。高寫負載情況下,數據復制到從節點可能會經歷延遲,影響了數據的最終一致性。
故障風險如主節點出現故障,整個系統的寫能力會喪失直到故障轉移完成并且一個從節點被提升為新的主節點。這個過程可能會導致服務中斷。


posted on 2024-07-11 22:22 Benjamin 閱讀(91) 評論(0)  編輯 收藏 引用 所屬分類: 數據庫

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美永久精品| 久久亚洲不卡| 欧美成人伊人久久综合网| 欧美一级片一区| 黄色成人在线| 亚洲激情图片小说视频| 欧美日韩www| 亚洲综合成人在线| 久久大逼视频| 亚洲精品国产精品国自产在线| 亚洲欧洲日产国产综合网| 国产精品日韩欧美一区二区三区| 欧美一区二区在线免费播放| 久久一区免费| 亚洲一级一区| 久热爱精品视频线路一| 99热在这里有精品免费| 亚洲女同在线| 日韩亚洲精品在线| 欧美一区1区三区3区公司| 亚洲激情综合| 亚洲欧美日韩在线不卡| 亚洲卡通欧美制服中文| 性高湖久久久久久久久| 亚洲精品在线一区二区| 欧美一区二区视频在线| 亚洲深爱激情| 美脚丝袜一区二区三区在线观看| 亚洲欧美www| 欧美成人一区在线| 久久久国产精品一区| 欧美日韩第一页| 欧美插天视频在线播放| 国产日韩精品一区观看| 日韩西西人体444www| 在线视频国产日韩| 亚洲午夜精品久久| 亚洲三级视频在线观看| 久久久久久久高潮| 欧美在线观看一二区| 欧美区日韩区| 亚洲高清在线观看| 亚洲成人在线视频网站| 欧美一区二区三区久久精品茉莉花| 日韩视频在线一区二区| 久久频这里精品99香蕉| 久久久97精品| 国产午夜久久久久| 亚洲欧美日韩直播| 国内视频一区| 夜夜嗨一区二区| 国产私拍一区| 亚洲线精品一区二区三区八戒| 亚洲剧情一区二区| 欧美成人国产| 亚洲国产高清在线| 亚洲韩国日本中文字幕| 久久色在线观看| 免费观看在线综合色| 在线精品视频免费观看| 久久午夜精品| 欧美国产日产韩国视频| 亚洲国产精品久久久久秋霞影院| 久久久美女艺术照精彩视频福利播放| 久久久久www| 在线观看日韩av先锋影音电影院| 久久国产欧美精品| 老司机久久99久久精品播放免费| 黄色成人在线免费| 老司机午夜精品视频| 亚洲国产欧美在线| 一本一本久久a久久精品牛牛影视| 欧美精品久久久久久久免费观看 | 亚洲激情网址| 欧美福利一区二区| 99精品视频网| 欧美在线视频免费播放| 韩国一区二区在线观看| 免费欧美在线| 99热这里只有精品8| 欧美一区二区三区视频| 在线播放日韩专区| 欧美久久久久久| 亚洲免费视频中文字幕| 噜噜噜在线观看免费视频日韩| 亚洲欧洲一区二区三区| 欧美日韩视频第一区| 午夜亚洲福利| 亚洲国产黄色| 欧美亚洲在线视频| 亚洲日本va午夜在线电影| 国产精品成人观看视频免费| 久久gogo国模裸体人体| 亚洲精品国精品久久99热一| 午夜在线精品| 亚洲精品久久久久久下一站| 国产精品男女猛烈高潮激情| 久久女同精品一区二区| 正在播放欧美视频| 欧美黄色一区二区| 欧美一级午夜免费电影| 亚洲精品视频免费在线观看| 国产精品永久免费| 欧美另类69精品久久久久9999| 亚洲欧美日韩人成在线播放| 亚洲国产一区视频| 久久中文精品| 久久国产精品高清| 亚洲视频导航| 91久久精品国产| 好吊日精品视频| 国产精品高潮呻吟久久| 欧美韩国日本一区| 久久久人成影片一区二区三区 | 亚洲福利视频网| 欧美日韩视频免费播放| 久久九九免费| 国内精品一区二区三区| 国产精品成人aaaaa网站| 免费亚洲一区二区| 久久久国产精品一区二区三区| 亚洲视频高清| 一区二区欧美精品| 亚洲精品久久久久久久久久久久 | 亚洲欧美日韩国产综合在线| 99精品国产福利在线观看免费| 欧美国产日韩一区| 欧美成人精品| 欧美成人一区在线| 麻豆成人在线观看| 老司机精品视频网站| 久久美女性网| 久久夜色撩人精品| 老司机精品导航| 久久一本综合频道| 久久亚洲一区二区| 美女精品在线观看| 欧美成人免费网站| 亚洲国产欧美在线| 亚洲精品国产精品乱码不99按摩| 亚洲人午夜精品| 亚洲精品一区在线观看香蕉| 99re6这里只有精品| 在线亚洲+欧美+日本专区| 亚洲无线视频| 性色av一区二区三区红粉影视| 欧美一区二区日韩一区二区| 欧美一级日韩一级| 久久久久高清| 欧美成人午夜激情视频| 欧美日本一区二区三区| 国产精品白丝黑袜喷水久久久| 国产精品久久久久9999吃药| 国产日韩欧美另类| 亚洲国产成人久久| 一区二区三区高清在线| 午夜久久久久久久久久一区二区| 久久国产精彩视频| 欧美高清不卡在线| 99热免费精品| 性伦欧美刺激片在线观看| 六月婷婷一区| 国产精品每日更新| 精品av久久707| 亚洲视频在线一区| 久久蜜桃香蕉精品一区二区三区| 欧美激情一区二区久久久| 99视频精品| 久久精品国产亚洲5555| 欧美精品久久99久久在免费线| 国产精品视频网址| 亚洲国产小视频在线观看| 亚洲网站在线看| 久久婷婷蜜乳一本欲蜜臀| 亚洲伦理在线观看| 久久av老司机精品网站导航| 欧美激情亚洲综合一区| 国产一区二区三区免费在线观看 | 国产欧美日韩视频| 亚洲精品日韩激情在线电影| 欧美一区二区三区四区在线观看地址| 免费91麻豆精品国产自产在线观看| 亚洲免费大片| 久久视频在线视频| 国产麻豆午夜三级精品| 99re66热这里只有精品4| 久热综合在线亚洲精品| 亚洲与欧洲av电影| 欧美日本三区| 亚洲成色精品| 久久精品一区二区三区中文字幕| 亚洲精品免费观看| 久久伊人免费视频| 国产亚洲欧美日韩一区二区| 一本色道88久久加勒比精品| 美女日韩欧美| 亚洲欧美日本伦理| 亚洲天堂偷拍| 免费成人黄色av| 国产性色一区二区|