成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Redis 架構是如何演進的?為什么?

數據庫 Redis
Redis 受歡迎主要原因是極高的性能以及豐富、方便使用的數據結構,這些簡單好用的數據結構大幅度降低開發業務復雜度。大家都在緊貼用戶需求,開發更多的數據結構。

Redis 現在已經十分流行,互聯網幾乎所有項目都會用到,在使用 Redis 時,你知道是如何保證穩定和高效的提供服務呢,它的架構演化路程是什么呢?

圖片

單機版 Redis

2010 年,Redis 1.0 版本發布,這個架構非常簡單。你的業務系統可以把 Redis 作為緩存系統,從 MySQL 查詢數據,接著寫入到 Redis 中,之后業務系統再從 Redis 中讀取這些數據。

就這樣想享受 Redis 快到飛起的性能。然而,隨著時間的推移,業務體諒發展起來,忽然有一天,Redis 宕機,所有的流量會打到 MySQL 上,嚴重的話還會壓垮 MySQL。

數據持久化

于是趕緊重啟 Redis,可是因為 Redis 都是把數據保存在內存中,盡管你把 Redis 重啟了,之前的戶數也丟失了。流量依然會打到 MySQL 上,咋辦呢?

于是,2013 年,Redis 2.8 版本發布,迎來了數據持久化。我們總不能每次寫數據都寫磁盤,這樣太慢了,于是 Redis 引入 RDB 內存快照的方式實現持久化。

定時的把當前 Redis Redis 中的數據,寫到磁盤上的 RDB 文件就可以了。除了 RDB 內存快照文件做持久化以外,還支持 AOF 文件。也就是將每次寫指令都寫到 AOF 文件中。

主從復制

似乎經過上面的優化,你再也不擔心 Redis 宕機了,即使宕機,也可以通過持久化文件快速恢復 Redis 中的數據。

可事情并沒這么簡單,如果一個一個實例宕機,我們是否可以部署多個 Redis 實例,并保持實時數據同步,當一個實例宕機,手動從剩下的實例提升為 master 繼續提供服務實現高可用。

就這樣,Redis 2.8 版本添加了主從復制功能。主從復制架構誕生了,master 處理實時讀寫請求,另一個叫做 slave 的節點同步 master 的數據。通過主從架構縮短不可用時間,并且還可以讓 slave 節點分擔一部分讀請求,提升應用整體性能。

哨兵集群

有了主從復制就萬無一失了么?答案是否定的。

因為我們通過人工介入來實現主從切換的,就必須要算上人的反應時間、操作時間,所以,在這期間你的業務應用依舊會受到影響。

如何把這個過程自動化?

我們可以引入一個檢查員,讓這個檢察院實時監測 master 的健康狀態,這個觀察者就叫做哨兵。

2012 年,Redis 在 2.6 版本首次發布哨兵模式,直到 Redis 2.8 版本第二版才變成生產可用。

哨兵是 Redis 的一種運行模式,它專注于對 Redis 實例(主節點、從節點)運行狀態的監控,并能夠在主節點發生故障時通過一系列的機制實現選主及主從切換,實現故障轉移,確保整個 Redis 系統的可用性。結合 Redis 的 官方文檔,可以知道 Redis 哨兵具備的能力有如下幾個:

  • 監控:持續監控 master 、slave 是否處于預期工作狀態。
  • 自動切換主庫:當 Master 運行故障,哨兵啟動自動故障恢復流程:從 slave 中選擇一臺作為新 master。
  • 通知:讓 slave 執行 replicaof ,與新的 master 同步;并且通知客戶端與新 master 建立連接。

Cluster 集群

2015 年,Redis 3.0 發布,這是一個里程碑版本,新增了 Redis 集群。

使用 Redis Cluster 集群,主要解決了大數據量存儲導致的各種慢問題,同時也便于橫向拓展。

Redis 集群是一種分布式數據庫方案,集群通過分片(sharding)來進行數據管理(「分治思想」的一種實踐)。

將數據劃分為 16384 的 slots,每個節點負責一部分槽位。槽位的信息存儲于每個節點中。是一個無中心架構,并提供復制和故障轉移功能。

展望未來

Redis 受歡迎主要原因是極高的性能以及豐富、方便使用的數據結構,這些簡單好用的數據結構大幅度降低開發業務復雜度。大家都在緊貼用戶需求,開發更多的數據結構。

  • 2017 年,Redis 5.0 發布,該版本最大的變化,就是新增了 stream 數據類型。
  • 2020 年,Redis 6.0 發布,該版本引入了網絡 IO 多線程,Redis 模型主要分為網絡模塊和命令處理模塊,作者認為正常情況下,redis 單線程模型中,網絡模塊往往成為瓶頸高發地;
  • 2022 年,Redis 7.0 發布,該版本就是重構了 dict 結構,內存占用更小,內存成本會大大減少,RDB 版本不向下兼容。
責任編輯:姜華 來源: 碼哥跳動
相關推薦

2024-03-06 11:22:33

架構演進技巧

2024-11-14 08:08:14

2023-12-30 08:27:13

2021-08-03 07:21:14

架構微服務開發

2023-12-04 07:25:20

軟件架構

2019-01-14 09:06:40

LBS定位系統架構

2019-03-26 09:37:11

ES系統架構

2021-06-07 10:13:01

單體架構系統

2018-11-29 09:36:45

架構系統拆分結構演變

2022-06-06 14:28:27

零信任零信任架構ZTA

2024-11-25 07:00:00

RedisMySQL數據庫

2022-12-09 14:53:17

2020-11-18 10:54:29

垃圾回收器演進

2020-01-02 15:01:27

NginxApache服務器

2019-06-17 14:20:51

Redis數據庫Java

2023-03-21 08:02:36

Redis6.0IO多線程

2024-07-01 10:16:55

搜索向量數據類型

2020-10-09 08:26:16

架構

2012-08-01 14:04:46

Surface

2024-08-29 08:00:00

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人一区二 | 日韩欧美一区二区三区 | 福利视频网站 | 国产精品国产精品国产专区不卡 | 欧美性吧 | 伊人免费在线观看 | 国产免费人成xvideos视频 | 国产超碰人人爽人人做人人爱 | 欧美精品1区2区3区 免费黄篇 | 欧美日韩综合一区 | 日韩福利在线 | 一区二区三区成人 | 国产精品一区久久久 | 成年网站在线观看 | 在线色| 在线观看国产 | 免费的日批视频 | 日本精品在线播放 | 日韩欧美一区二区三区免费观看 | 国产精品久久久久久久久久久新郎 | 一区免费视频 | 日韩欧美在线视频 | 99re在线视频免费观看 | 欧美综合在线观看 | 淫片专区 | 久久一及片 | 成人福利在线观看 | 久久久久久99 | 自拍偷拍欧美 | 偷拍自拍第一页 | 精品亚洲一区二区三区 | 欧美激情欧美激情在线五月 | 国产日韩久久 | 久久亚洲一区二区 | 九九亚洲 | 91精品久久久 | 最新国产精品视频 | 18成人在线观看 | 国产精品影视 | 国产高清毛片 | www.久草.com|