Tair (Redis OSS-compatible)標準架構指未啟用叢集模式的架構,所有資料存放區在一個分區中,具有簡單易用、服務高可靠、高性價比等特點,可滿足多種情境下的需求。相比叢集架構,標準架構不支援調整分區數量,提供高可用(多副本)執行個體類型。
高可用
標準架構高可用類型採用一主多備(Master-Replica)架構搭建。主節點負責日常服務訪問,而備節點通常不對外提供服務,僅用於維護高可用性(HA)。當主節點發生故障時,系統會在30秒內自動切換至備節點,保證業務平穩運行。
雲原生版標準架構
雲原生版最多支援1個主節點、9個備節點。當多可用性區域觸發HA時,優先會在同可用性區域進行切換,避免業務跨可用性區域訪問。
經典版標準架構
經典版僅支援1個主節點、1個備節點。若執行個體為多可用性區域執行個體,則備節點部署在備可用性區域。
特點
可靠性
服務可靠:採用主備(master-replica)多機架構,主、備節點位於不同物理機。當主節點出現故障,自研的HA系統會自動進行主備切換,保證業務平穩運行。
資料可靠:預設開啟資料持久化功能,資料全部落盤。支援資料備份功能,您可以針對備份組復原執行個體或者複製執行個體,有效地解決資料誤操作等問題。同時,在支援容災的可用性區域(例如杭州可用性區域H+I)建立的執行個體,還具備同城容災的能力。
相容性:相容Redis協議,自建的Redis資料庫可以平滑遷移Redis標準版。阿里雲還提供資料轉送工具DTS進行增量的Redis遷移,保證業務平穩過渡。
阿里雲自研
故障探測切換系統(HA):採用自研HA切換系統,即時探測主節點的異常情況,可以有效解決磁碟IO故障,CPU故障等問題導致的服務異常,及時進行主備切換,從而保證服務高可用。
主備複製機制:對主備全量同步中的Fork問題進行了最佳化,實現了無阻塞,在增量同步處理中採用增量日誌格式進行複製傳輸。當主備複製中斷後,對系統效能及穩定性影響極低,有效地避免了Redis原生主備複製的弊端。
應用情境
對Redis協議相容性要求較高的業務
標準架構相容Redis協議,業務可以平滑遷移。
Redis作為持久化資料存放區使用的業務
標準架構提供持久化機制及備份恢複機制,極大地保證資料可靠性。
單個Redis效能壓力可控的業務
由於Redis原生採用單線程機制,在10萬QPS以下的業務建議使用。如果需要更高的效能要求,請開啟讀寫分離功能或選用叢集架構。
Redis命令相對簡單,排序、計算類命令較少的業務
由於Redis的單線程機制,CPU會成為主要瓶頸。如排序、計算類較多的業務建議選用叢集架構配置。
常見問題
Q:原有業務為Redis哨兵模式,遷移上雲應該選什麼架構?
A:推薦選擇標準架構(高可用版)。建立執行個體後,您可以開啟Sentinel相容模式,然後可以像串連開源Redis Sentinel一樣串連Tair(以及Redis開源版)執行個體。
Q:若當前執行個體為8 GB、標準架構,如何在不升級記憶體容量的情況下升級執行個體效能?
A:根據業務需求,分別推薦如下升級方案。
若現有執行個體的串連數或執行個體頻寬不足,表示該執行個體可能無法滿足超高的讀流量。您可以考慮開啟讀寫分離(推薦),無需升級記憶體規格,即可快速提升執行個體讀效能。
該方案無需修改業務代碼(也無需修改串連地址),即開即用,也支援隨時關閉。開啟後,執行個體能夠自動識別讀、寫請求並進行對應轉寄,滿足高並發讀寫的業務情境。
若現有執行個體的CPU使用率總是過高,您可以考慮將執行個體升級為叢集架構,通過增加資料分區解決單分區CPU使用率過高的問題。
但該方案將修改執行個體架構,叢集架構與標準架構的大部分命令是相容的,但仍然存在部分不相容的命令(更多資訊請參見叢集架構的命令限制)。建議您評估後再進行升級。
以下為Redis開源版8 GB執行個體不同架構的效能對比:
架構
記憶體(GB)
CPU(核)
頻寬(MB/s)
最大串連數
QPS參考值
標準架構(主備節點)
8
2
96
20,000
100,000
標準架構(開啟讀寫分離,1個主節點、1個唯讀節點)
8
4(2 * 2)
192(96 * 2)
40,000(20,000 * 2)
200,000
叢集架構(2分區)
8(4 GB * 2分區)
4(2 * 2)
192(96 * 2)
40,000(20,000 * 2)
200,000