全部產品
Search
文件中心

Tair (Redis® OSS-Compatible):標準架構

更新時間:Sep 13, 2025

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複製中斷後,備節點會立即發起psync,psync嘗試部分同步,如果不成功,就會全量同步RDB並發送至備節點。

      • 如果Redis需要進行全量同步,將導致主節點執行全量備份,並觸發進程Fork,這可能會導致主節點出現毫秒級或秒級的卡頓現象。

      • Redis進程Fork導致Copy-On-Write,Copy-On-Write導致主節點進程記憶體消耗,極端情況下造成主節點記憶體溢出,程式異常退出。

      • Redis主節點產生備份檔案導致伺服器磁碟IO和CPU資源消耗。

      • 發送GB層級大小的備份檔案,會導致伺服器網路出口爆增,磁碟順序IO輸送量高,期間會影響業務正常請求回應時間,併產生其他連鎖影響。

應用情境

  • 對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

相關文檔

增刪備節點