Redis Sentinel 是分散式架構(這裡的分散式是指:Redis 資料節點、Sentinel 節點集合、客戶端分佈在多個實體節點的架構),其中包含若干個Sentinel 節點和Redis 資料點,每個Sentinel 節點會對資料節點和其餘Sentinel 節點進行監控,當它發現節點不可達時,會對節點做下線標識。 (推薦學習:Redis視訊教學)
如果被識別的是主節點,它還會和其他Sentinel 節點進行“協商”,當大多數Sentinel 節點都認為主節點不可達時,它們會選出一個Sentinel 節點來完成自動故障轉移的工作,同時會將這個變化即時通知給Redis 應用方。
整個過程完全是自動的,不需要人工來介入,所以這套方案有效地解決了 Redis 的高可用問題。
Redis Sentinel 有以下幾個功能:
監控(Monitoring):Sentinel 節點會定期偵測Redis 資料節點(包括master和slave)、其餘Sentinel 節點是否可達。
通知(Notification):Sentinel 節點會將故障轉移的結果通知給應用程式。
自動故障遷移(Automatic failover):當master無法正常運作時,Sentinel會實現從節點晉升為主節點並維護後續正確的主從關係。
設定提供者(Configuration provider.):在 Redis Sentinel 結構中,客戶端 在初始化的時候連接的是 Sentinel 節點集合,從中取得主節點資訊。
Redis & Redis Sentinel 的啟動
設定檔中修改。 一般情況下,至少會需要三個哨兵對redis 進行監控,我們可以透過修改連接埠啟動多個sentinel 服務。
配置主伺服器的ip 和端口,我們把監聽的端口修改成6380,並且加上權值為2,這裡的權值,是用來計算我們需要將哪一台伺服器升級升主伺服器。
在Redis安裝完畢後,我們可以透過以下的指令啟動Redis與Redis Sentinel(哨兵)
# 使用默认的配置文件 ./src/redis-server ../redis.conf # 使用默认的配置文件 ./src/redis-sentinel ../sentinel.conf
更多Redis相關技術文章,請造訪Redis入門教學欄位進行學習!
以上是redis sentinel client如何使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!