您好,登錄后才能下訂單哦!
小編給大家分享一下redis中宕機指的是什么意思,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
宕機是計算機術語,口語里面我們簡單的把停掉機器叫做down機,轉換為漢字是“宕機”,但很多人都叫做“當機”/“死機”,雖然不規范但卻流行。
宕機,指操作系統無法從一個嚴重系統錯誤中恢復過來,或系統硬件層面出問題,以致系統長時間無響應,而不得不重新啟動計算機的現象。它屬于電腦運作的一種正常現象,任何電腦都會出現這種情況。
redis集群是有很多個redis一起工作,那么就需要這個集群不是那么容易掛掉,所以呢,理論上就應該給集群中的每個節點至少一個備用的redis服務。這個備用的redis稱為從節點(slave)。
首先要說的是,每一個節點都存有這個集群所有主節點以及從節點的信息。它們之間通過互相的ping-pong判斷是否節點可以連接上。如果有一半以上的節點去ping一個節點的時候沒有回應,集群就認為這個節點宕機了,然后去連接它的備用節點。
在主從模式下宕機要分為區分來看:
slave從redis宕機
在Redis中從庫重新啟動后會自動加入到主從架構中,自動完成同步數據;
如果從數據庫實現了持久化,只要重新假如到主從架構中會實現增量同步。
Master 宕機
假如主從都沒數據持久化,此時千萬不要立馬重啟服務,否則可能會造成數據丟失,正確的操作如下:
- 在slave數據上執行SLAVEOF ON ONE,來斷開主從關系并把slave升級為主庫
- 此時重新啟動主數據庫,執行SLAVEOF,把它設置為從庫,自動備份數據。
集群進入fail狀態的必要條件
某個主節點和所有從節點全部掛掉,我們集群就進入faill狀態。
如果集群超過半數以上master掛掉,無論是否有slave,集群進入fail狀態.
如果集群任意master掛掉,且當前master沒有slave.集群進入fail狀態
投票過程是集群中所有master參與,如果半數以上master節點與master節點通信超時(cluster-node-timeout),認為當前master節點掛掉。
選舉的依據依次是:網絡連接正常->5秒內回復過INFO命令->10*down-after-milliseconds內與主連接過的->從服務器優先級->復制偏移量->運行id較小的。選出之后通過slaveif no ont將該從服務器升為新主服務器。
通過slaveof ip port命令讓其他從服務器復制該信主服務器。
最后當舊主重新連接后將其變為新主的從服務器。注意如果客戶端與舊主服務器分隔在一起,寫入的數據在恢復后由于舊主會復制新主的數據會造成數據丟失。
以上是redis中宕機指的是什么意思的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。