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

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

若是你的系統能夠保證整年,99.99%的事件內,都是處於高可用的狀態,那麼就能夠稱爲高可用node

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

定義:若是說你的系統能夠保證在整年,99.99%的時間內,都是處於可用狀態的,那麼就能夠稱之爲高可用性web

2. 什麼是系統不可用?

  • (1)機器死機了,宕機了
  • (2)jvm進程OOM了,掛了
  • (3)機器CPU打滿了,不工做了。
  • (4)磁盤滿了,系統各類IO報錯了,不工做了。
  • (5)...

各類緣由,均可能致使你的系統掛掉,無法提供服務,請求過來,什麼都沒有,沒有任何響應,系統起不來,無法賣東西。redis

3. redis不可用

3.1 什麼會致使redis不可用?

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

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

正常狀況下,若是是一個slave node掛掉了,是不會影響可用性的,還有其餘的各類slave node提供相同的對外查詢服務sql

  • 可是,若是是master node死掉了呢?

致使後果:無法寫數據了,寫緩存失效了,無法想slave node同步數據量,至關於不可用了。緩存

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

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

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

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

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

本文使用 mdnice 排版

相關文章
相關標籤/搜索