redis 部署過程

第一部分理論

1、redis的工作原理及作用
哨兵是用於監控redis集羣HA中MASTER狀態的工具,在2.4以上版本已集成
1)master狀態的監控
2)如果發現master異常,則進行master-slave切換,把其中一臺slave作爲master上線,原master下線作爲slave
3)master-slave切換後,相關配置發生變化,master_redis.conf ,slave_redis.conf , sentinel_redis.conf 三個配置文件,同時master_redis.conf文件增加新一行slaveof 
sentinel.conf的監控目標也自動調換

2、redis的工作模式
1)單節點模式
2)主從模式
3)sentinel哨兵模式


3、各工作模式的原理及優缺點
1)單節點模式,除非是資源有限,或該服務不重要,否則沒有可取之處
2)主從模式,一主二從比較流行,但缺乏靈活性,出現問題,需要人爲被動切換,
3)哨兵模式,通過sentinel工具,按照設定的有效時間,監控master主機狀態,對主動判斷主機是否異常,有效進行master-slave切換,達到平滑切換

4、sentinel的工作方式
1)每個Sentinel以每秒鐘一次的頻率向它所知的Master,Slave以及其他 Sentinel 實例發送一個 PING 命令 
2)如果一個實例(instance)距離最後一次有效回覆 PING 命令的時間超過 down-after-milliseconds 選項所指定的值, 則這個實例會被 Sentinel 標記爲主觀下線。 
3)如果一個Master被標記爲主觀下線,則正在監視這個Master的所有 Sentinel 要以每秒一次的頻率確認Master的確進入了主觀下線狀態。 
4)當有足夠數量的 Sentinel(大於等於配置文件指定的值)在指定的時間範圍內確認Master的確進入了主觀下線狀態, 則Master會被標記爲客觀下線 
5)在一般情況下, 每個 Sentinel 會以每 10 秒一次的頻率向它已知的所有Master,Slave發送 INFO 命令 
6)當Master被 Sentinel 標記爲客觀下線時,Sentinel 向下線的 Master 的所有 Slave 發送 INFO 命令的頻率會從 10 秒一次改爲每秒一次 
7)若沒有足夠數量的 Sentinel 同意 Master 已經下線, Master 的客觀下線狀態就會被移除。 
若 Master 重新向 Sentinel 的 PING 命令返回有效回覆, Master 的主觀下線狀態就會被移除。


第二部分實操


1、sentinel 哨兵簡易配置

port 26379
dir "/tmp"
daemonize yes
protected-mode no
logfile "/data/redis/sentinel.log"
sentinel monitor mymaster 106.12.203.50 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 60000
sentinel auth-pass mymaster redis


2、redis-cluster 羣集的部署及常用命令

1)基礎環境安裝
2)啓動redis-cluster命令 
   新增節點
   刪除節點
   
******

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章