面試突擊 005 | Redis 是如何實現高可用的?它的實現方式有哪些?「視頻版」

面試突擊 005 | Redis 是如何實現高可用的?它的實現方式有哪些?「視頻版」

這是個人第 35 篇原創文章
做者 | 老王(javacn666)
這部視頻的錄製、剪輯、作 PPT、寫文稿大約花費了 5 個小時的時間,但願這種形式能被更多的人喜歡,但願這篇文章會給你帶來更多的價值。
1 面試題java

Redis 是如何實現高可用的?它的實現方式有哪些?
2 涉及問題面試

  1. 什麼是高可用?
  2. Redis 中高可用的實現方式有哪些?
  3. 各類實現方式的優缺點有哪些?
    3 視頻

視頻內容以下:服務器

4 答案併發

高可用是指經過設計減小程序不能提供服務的時間叫作高可用。
Redis 實現高可用的方式有四種:ide

  1. 持久化
  2. 主從同步(主從複製)
  3. Redis Sentinel
  4. Redis Cluster
    1)持久化

持久化有三種方式:
RDB(Redis DataBase)全量複製
AOF(Append Only File)增量複製
混合持久化(支持版本 Redis 4.0+)
持久化讓 Redis 的數據再也不丟失,當某個節點奔潰時,能夠很快的從新啓動或從新搭建一個 Redis 服務器端,加載持久化文件便可恢復 Redis 的正常運行,爲 Redis 奔潰恢復節省了寶貴的時間。
更多介紹詳見視頻部分。
2)主從同步設計

提供的功能是從單機 Redis 變成多機 Redis。
提供兩種模式:主從模式和從從模式。
主從模式,以下圖所示:
面試突擊 005 | Redis 是如何實現高可用的?它的實現方式有哪些?「視頻版」視頻

從從模式,以下圖所示:
面試突擊 005 | Redis 是如何實現高可用的?它的實現方式有哪些?「視頻版」
當主節點出現問題,咱們能夠迅速把從節點切換成主節點,以快速恢復 Redis 的正常使用。
3)Redis Sentinelblog

主從模式有一個問題就是每次主節點出現問題時,咱們須要手動全部從節點,很是的不方便,使用咱們須要有一個監控的程序 Sentinel 幫咱們盯着這些主從服務器,一旦主節點有問題就立馬擁護一個從節點做爲新的主節點,這就是 Sentinel 最有價值的功能,以下圖所示:
面試突擊 005 | Redis 是如何實現高可用的?它的實現方式有哪些?「視頻版」
4)Redis Cluster同步

集羣功能是 Redis 3.0 提供的,它除了擁有主從和 Sentinel 的全部功能以外,還支持多個主從節點,Sentinel 監視的一組服務中只能有一個主節點,而 Cluster 能夠擁有任意多個,而且 Cluster 提供了分片功能,能夠把數據均衡的存儲在各個主節點上,大大的提供了 Redis 的併發能力,以下圖所示:
面試突擊 005 | Redis 是如何實現高可用的?它的實現方式有哪些?「視頻版」
5 小結it

持久化提供了數據存儲功能,讓數據再也不丟失,提升了 Redis 恢復的可能性;主從同步模式把單機 Redis 變成了多機 Redis,而且能夠實現讀寫分離,從而下降了主節點讀取的壓力,當主節點宕機以後,也能手動快速的恢復 Redis 服務;Sentinel 把主從手動恢復的功能變成了自動的,實現了自動容災;而 Cluster 除了支持其餘功能以外,還提供了串連多個主從服務器的能力以及分片的能力,大大的提供了 Redis 的併發能力。
更多內容,請看視頻部分。

【END】
近期熱文

  • 面試突擊 004 | 如何排查 Redis 中的慢查詢?
  • 面試突擊 003 | Redis 如何實現查詢附近的人?
  • 面試突擊 002 | Redis 是如何處理已過時元素的?
  • 面試突擊 001 | Redis 如何從海量數據中查詢出某一個 Key?
  • Java面試詳解(2020版):500+ 面試題和核心知識點詳解
  • 面試珍藏:最多見的200多道Java面試題
    關注下方二維碼,訂閱更多精彩內容

面試突擊 005 | Redis 是如何實現高可用的?它的實現方式有哪些?「視頻版」

相關文章
相關標籤/搜索