您好,登錄后才能下訂單哦!
導(dǎo)讀:
Redis官方號稱支持并發(fā)11萬讀操作,并發(fā)8萬寫操作。由于優(yōu)異的性能和方便的操作,相信很多人都在項(xiàng)目中都使用了Redis,為了不讓應(yīng)用過分的依賴 Redis服務(wù),Redis的作用只作為提升應(yīng)用并發(fā)和降低應(yīng)用響應(yīng)時間存在,即使Redis出現(xiàn)異常,應(yīng)用程序也不應(yīng)該出現(xiàn)提供服務(wù)失敗問題,對此拍拍信最近安排了一次全環(huán)境的Redis Cluster 宕機(jī)演練。
許彬:拍拍信架構(gòu)負(fù)責(zé)人。
朱榮松:拍拍信架構(gòu)開發(fā)工程師。
Redis 集群環(huán)境:
1. 測試環(huán)境:
Redis Cluster 配置 :Redis 3主 3從 一共6個節(jié)點(diǎn)。
2. 預(yù)發(fā)環(huán)境:
Redis Cluster 配置 :Redis 3主 3從 一共6個節(jié)點(diǎn)。
下面是我們操作的時間線:
第一天
程序運(yùn)行中關(guān)閉任意一臺從節(jié)點(diǎn),測試一天均無異常。
第二天
程序運(yùn)行中關(guān)閉任意一臺從節(jié)點(diǎn),程序未發(fā)現(xiàn)異常,測試一天未發(fā)現(xiàn)異常。
第三天
預(yù)發(fā)環(huán)境有應(yīng)用發(fā)版,出現(xiàn)異常程序無法啟動。
……
1. 測試與預(yù)發(fā)環(huán)境目前關(guān)閉的都是任意一臺Redis從節(jié)點(diǎn)。
2. 測試環(huán)境經(jīng)過反復(fù)測試無問題才開始關(guān)閉預(yù)發(fā)環(huán)境節(jié)點(diǎn)。
3. 預(yù)發(fā)環(huán)境重啟被關(guān)閉的Redis節(jié)點(diǎn)后異常消失。
4. 連接Redis客戶端使用的是Java語言中使用范圍較廣的Jedis。
那么為什么測試環(huán)境在經(jīng)過反復(fù)測試沒有問題,到預(yù)發(fā)環(huán)境會出現(xiàn)問題?
分析問題前先簡單解釋下Redis Cluster實(shí)現(xiàn)原理。簡單來說Redis 場景 操作(多節(jié)點(diǎn)均同時操作) Redis寫總量 Redis讀總量 錯誤量 總耗時(s) 錯誤率 程序運(yùn)行中 關(guān)主(關(guān)任一主) 100000 100000 3084 100 0.031 關(guān)主(關(guān)任一主) 100000 100000 1482 102 0.015 關(guān)主(關(guān)任一主) 100000 100000 3053 97.6 0.031 關(guān)從(關(guān)任一從) 100000 100000 0 109.2 0 關(guān)從(關(guān)任一從) 100000 100000 0 90.1 0 關(guān)從(關(guān)任一從) 100000 100000 0 88.9 0 主從一起關(guān)(關(guān)任一對) 100000 100000 32613 210.1 0.326 主從一起關(guān)(關(guān)任一對) 100000 100000 29148 169.8 0.291 主從一起關(guān)(關(guān)任一對) 100000 100000 32410 173.7 0.324 所有主全關(guān) 100000 100000 100000 353.4 1 所有從全關(guān) 100000 100000 0 87.7 0 只留一臺主 100000 100000 100000 357.1 1 表1 從測試結(jié)果看,集群Master的選舉過程是由Master參與選舉的。 1. 如果半數(shù)以上 Master 處于關(guān)閉狀態(tài)那么整個集群處于不可用狀態(tài)。 2. 關(guān)閉任意一對主從節(jié)點(diǎn)會導(dǎo)致部分(大約為整個集群的1/3)失敗。 3. 關(guān)閉任意一主,會導(dǎo)致部分寫操作失敗,是由于從節(jié)點(diǎn)不能執(zhí)行寫操作,在Slave升級為Master期間會有少量的失敗。 4. 關(guān)閉從節(jié)點(diǎn)對于整個集群沒有影響
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。