Redis教學專欄為大家介紹於關於java基於redis有序的集合實現排行榜,希望對需要的朋友有所幫助!
哨兵是一個獨立的流程。原理:
哨兵透過發送命令,等待Redis伺服器回應,從而監控運行的多個Redis實例。
主觀下線。當後面的哨兵也偵測到主伺服器不可用,數量達到一定值時,那麼哨兵之間就會進行一次投票,投票的結果由一個哨兵發起,進行failover操作。切換成功後,就會透過發布訂閱模式,讓各個哨兵把自己監控的從伺服器實作切換主機,這個過程稱為客觀下線。這樣對於客戶端而言,一切都是透明的。
#是否是主伺服器 | IP位址 | #連接埠 | |
---|---|---|---|
是 | 192.168.11.128 | 6379 | |
否 | 192.168.11.129 | 6379 | |
##192.168.11.130 | 6379 | ||
- | #192.168.11.128 | # 26379 | |
- | #192.168.11.129 | 26379 | |
- | 192.168.11.130 | #26379 |
多重哨兵監控Redis
首先設定Redis的主從伺服器,修改redis.conf檔案如下
# 使得Redis服务器可以跨网络访问 bind 0.0.0.0# 设置密码 requirepass "123456"# 指定主服务器,注意:有关slaveof的配置只是配置从服务器,主服务器不需要配置 slaveof 192.168.11.128 6379# 主服务器密码,注意:有关slaveof的配置只是配置从服务器,主服务器不需要配置 masterauth 123456
上述內容主要是設定Redis伺服器,從伺服器比主伺服器多一個slaveof的設定和密碼。
配置3個哨兵,每個哨兵的配置都是一樣的。
在Redis安裝目錄下有一個sentinel.conf檔(複製3份)# 禁止保护模式protected-mode no# 配置监听的主服务器,这里sentinel monitor代表监控,mymaster代表服务器的名称,可以自定义,192.168.11.128代表监控的主服务器,6379代表端口,2代表只有两个或两个以上的哨兵认为主服务器不可用的时候,才会进行failover操作。sentinel monitor mymaster 192.168.11.128 6379 2# sentinel author-pass定义服务的密码,mymaster是服务名称,123456是Redis服务器密码# sentinel auth-pass <master-name> <password>sentinel auth-pass mymaster 123456</password></master-name>
# 启动Redis服务器进程./redis-server ../redis.conf # 启动哨兵进程./redis-sentinel ../sentinel.conf
以上是詳解Redis哨兵模式的詳細內容。更多資訊請關注PHP中文網其他相關文章!