【Redis主從架構】Redis主從如何做到99.99%高可用

【Redis主從架構】Redis主從如何做到99.99%高可用

1. 什麼是系統99.99高可用?

如果你的系統可以保證全年,99.99%的事件內,都是處於高可用的狀態,那麼就可以稱爲高可用

99.9, 99% 都可以統稱爲高可用
80%可用,低可用性

定義:如果說你的系統可以保證在全年,99.99%的時間內,都是處於可用狀態的,那麼就可以稱之爲高可用性

2. 什麼是系統不可用?

1. 機器死機了,宕機了
2. jvm進程OOM了,掛了
3. 機器CPU打滿了,不工作了。
4. 磁盤滿了,系統各種IO報錯了,不工作了。
5. …

各種原因,都可能導致你的系統掛掉,沒法提供服務,請求過來,什麼都沒有,沒有任何響應,系統起不來,沒法賣東西。

3. redis不可用

3.1 什麼會導致redis不可用?

  • (1) redis進程死掉了
  • (2)redis進程所在的機器死掉了
  • (3) 緩存不可用,請求都到mysql上去了,大量流量跑到mysql上去,導致mysql宕機;mysql宕機,導致系統不可用。

3.2 slave node掛掉了會怎麼樣?master node掛掉了有會怎麼樣?

正常情況下,如果是一個slave node掛掉了,是不會影響可用性的,還有其他的各種slave node提供相同的對外查詢服務

  • 但是,如果是master node死掉了呢?

導致後果:沒法寫數據了,寫緩存失效了,沒法想slave node同步數據量,相當於不可用了。

4. redis基於哨兵的高可用性

  • redis高可用架構,又叫做故障轉移,failover,也可以稱爲主備切換

  • 通過哨兵 sentinal node,可以實時監測redis節點的健康情況,當master節點故障時,自動檢測並且將某個slave node自動切換爲 master node的過程,稱爲主備切換。這個過程實現了redis的主從架構的高可用性

所以,一旦mater故障,在很短的時間內sentinal node就會切換到另一個master上去,redis可能就幾分鐘不可用

參考 石衫老師 《億級流量教程》課程筆記

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章