Redis集群進行故障檢測的方法

小編給大家分享一下redis集群進行故障檢測的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討方法吧!

成都創(chuàng)新互聯(lián)是一家專注于成都網站制作、成都網站設計與策劃設計,睢縣網站建設哪家好?成都創(chuàng)新互聯(lián)做網站,專注于網站建設10年,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:睢縣等地區(qū)。睢縣做網站價格咨詢:028-86922220

Redis集群進行故障檢測的方法:首先修改Python腳本,每隔1s寫入一條數(shù)據(jù);然后循環(huán)往Redis集群中寫入數(shù)據(jù),并強制殺掉一個主節(jié)點觀察應用程序連接情況;最后重啟宕機的8001節(jié)點即可。

Redis集群進行故障檢測的方法

Redis集群進行故障檢測的方法:自動故障轉移測試

修改Python腳本,每隔1s寫入一條數(shù)據(jù),目的是便于觀察在主節(jié)點宕機,集群自動故障轉移這個時間段之之內(1s鐘左右),對于應用程序的影響,或者說應用程序在自動故障轉移前后的表現(xiàn)。

如下腳本循環(huán)往Redis集群中寫入數(shù)據(jù),執(zhí)行期間,強制殺掉一個主節(jié)點,觀察應用程序連接情況。
同時,如果發(fā)生異常,暫停應用程序2s,因為上面一開始配置的集群故障轉移時間是1s,如果應用程序暫停2s,完全可以跳過故障轉移的過程,當故障轉移完成之后,應用程序又恢復成正常狀態(tài),雖然8001節(jié)點宕機,應用程序繼續(xù)連接8001節(jié)點,但是應用程序完全無感知。

import timefrom time import ctime,sleepfrom rediscluster import StrictRedisCluster
startup_nodes = [
    {"host":"111.231.253.***", "port":8001},
    {"host":"111.231.253.***", "port":8002},
    {"host":"111.231.253.***", "port":8003},
    {"host":"111.231.253.***", "port":8004},
    {"host":"111.231.253.***", "port":8005},
    {"host":"111.231.253.***", "port":8006}
]
redis_conn= StrictRedisCluster(startup_nodes=startup_nodes, decode_responses=True,password="root")for i in range(0, 100000):    try:
        redis_conn.set('name' + str(i), str(i))        print('setting name' + str(i) +"--->" + time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
        time.sleep(1)    except:        print("connect to redis cluster error")
        time.sleep(2)

發(fā)現(xiàn)在殺掉主節(jié)點之后,僅發(fā)生了一次連接錯誤,隨后因為Redis集群的自動故障轉移成功,對應于程序來說是透明的,因此應用程序隨后正常工作,不受其中一個主節(jié)點宕機的影響。

Redis集群進行故障檢測的方法

集群此時的狀態(tài),8001節(jié)點宕機,明顯,8001對應的從節(jié)點8004接管主節(jié)點,升級為master,對外提供服務

Redis集群進行故障檢測的方法

觀察升級為主節(jié)點的8004實例日志,會發(fā)現(xiàn)在強制殺掉原8001主節(jié)點之后,1秒鐘之內,成功替代8001升級為master節(jié)點
如果在故障轉移的過程中,沒有應用程序訪問Redis,應用程序甚至完全不知道Redis集群發(fā)生了故障轉移,只要不發(fā)生集群中某一個節(jié)點的主從節(jié)點同時宕機,整個集群就沒有問題,且對應用程序完全透明。

Redis集群進行故障檢測的方法

隨后重啟宕機的8001節(jié)點,會發(fā)現(xiàn)8001節(jié)點自動變?yōu)槠湓瓘墓?jié)點(8004)的從節(jié)點

Redis集群進行故障檢測的方法

看完了這篇文章,相信你對Redis集群進行故障檢測的方法有了一定的了解,想了解更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

名稱欄目:Redis集群進行故障檢測的方法
文章源于:http://muchs.cn/article40/jpegho.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供面包屑導航外貿網站建設、企業(yè)網站制作、域名注冊、網站排名、用戶體驗

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網站托管運營