下面由Redis教程欄目給大家介紹關(guān)于java基于redis有序集合實(shí)現(xiàn)排行榜,希望對(duì)需要的朋友有所幫助!
成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的辛集網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!哨兵是一個(gè)獨(dú)立的進(jìn)程。
原理:哨兵通過(guò)發(fā)送命令,等待Redis服務(wù)器響應(yīng),從而監(jiān)控運(yùn)行的多個(gè)Redis實(shí)例。
然而一個(gè)哨兵進(jìn)程對(duì)Redis服務(wù)器進(jìn)行監(jiān)控,可能會(huì)出現(xiàn)問(wèn)題,為此,我們可以使用多個(gè)哨兵進(jìn)行監(jiān)控。各個(gè)哨兵之間還會(huì)進(jìn)行監(jiān)控,這樣就形成了多哨兵模式。
故障切換(failover)假設(shè)主服務(wù)器宕機(jī),哨兵1先檢測(cè)到這個(gè)結(jié)果,系統(tǒng)并不會(huì)馬上進(jìn)行failover過(guò)程,僅僅是哨兵1主觀的認(rèn)為主服務(wù)器不可用,這個(gè)現(xiàn)象成為主觀下線。當(dāng)后面的哨兵也檢測(cè)到主服務(wù)器不可用,并且數(shù)量達(dá)到一定值時(shí),那么哨兵之間就會(huì)進(jìn)行一次投票,投票的結(jié)果由一個(gè)哨兵發(fā)起,進(jìn)行failover操作。切換成功后,就會(huì)通過(guò)發(fā)布訂閱模式,讓各個(gè)哨兵把自己監(jiān)控的從服務(wù)器實(shí)現(xiàn)切換主機(jī),這個(gè)過(guò)程稱為客觀下線。這樣對(duì)于客戶端而言,一切都是透明的。
配置哨兵模式配置3個(gè)哨兵和1主2從的Redis服務(wù)器來(lái)演示這個(gè)過(guò)程。
多哨兵監(jiān)控Redis
首先配置Redis的主從服務(wù)器,修改redis.conf文件如下
# 使得Redis服務(wù)器可以跨網(wǎng)絡(luò)訪問(wèn) bind 0.0.0.0# 設(shè)置密碼 requirepass "123456"# 指定主服務(wù)器,注意:有關(guān)slaveof的配置只是配置從服務(wù)器,主服務(wù)器不需要配置 slaveof 192.168.11.128 6379# 主服務(wù)器密碼,注意:有關(guān)slaveof的配置只是配置從服務(wù)器,主服務(wù)器不需要配置 masterauth 123456
上述內(nèi)容主要是配置Redis服務(wù)器,從服務(wù)器比主服務(wù)器多一個(gè)slaveof的配置和密碼。
配置3個(gè)哨兵,每個(gè)哨兵的配置都是一樣的。
在Redis安裝目錄下有一個(gè)sentinel.conf文件(復(fù)制3份)
# 禁止保護(hù)模式protected-mode no# 配置監(jiān)聽(tīng)的主服務(wù)器,這里sentinel monitor代表監(jiān)控,mymaster代表服務(wù)器的名稱,可以自定義,192.168.11.128代表監(jiān)控的主服務(wù)器,6379代表端口,2代表只有兩個(gè)或兩個(gè)以上的哨兵認(rèn)為主服務(wù)器不可用的時(shí)候,才會(huì)進(jìn)行failover操作。sentinel monitor mymaster 192.168.11.128 6379 2# sentinel author-pass定義服務(wù)的密碼,mymaster是服務(wù)名稱,123456是Redis服務(wù)器密碼# sentinel auth-passsentinel auth-pass mymaster 123456
上述關(guān)閉了保護(hù)模式,便于測(cè)試。
有了上述的修改,我們可以進(jìn)入Redis的安裝目錄的src目錄,通過(guò)下面的命令啟動(dòng)服務(wù)器和哨兵
# 啟動(dòng)Redis服務(wù)器進(jìn)程./redis-server ../redis.conf # 啟動(dòng)哨兵進(jìn)程./redis-sentinel ../sentinel.conf
注意啟動(dòng)的順序。首先是主機(jī)(192.168.11.128)的Redis服務(wù)進(jìn)程,然后啟動(dòng)從機(jī)的服務(wù)進(jìn)程,最后啟動(dòng)3個(gè)哨兵的服務(wù)進(jìn)程。
標(biāo)題名稱:詳解Redis哨兵模式
文章地址:http://weahome.cn/article/cgjhid.html