全部產品
Search
文件中心

Tair (Redis® OSS-Compatible):叢集無感擴縮容介紹

更新時間:Mar 13, 2025

Tair (Redis OSS-compatible)叢集架構執行個體在擴容(增加叢集分區數量)、縮容(減少叢集分區數量)過程中,能夠有效消除原生Redis叢集可能會產生的-ASK-TRYAGAIN 錯誤,從而實現無感擴縮容。

特性說明

與原生Redis 叢集擴縮容相比,Tair (Redis OSS-compatible)叢集架構執行個體擴縮容具有以下特點:

  • 高效的擴縮容管理:通過中心化的控制組件,實現對叢集行為的高效、精準控制。

  • 原子性資料移轉:深入修改核心的資料複製邏輯,保證資料移轉的原子性。在擴縮容期間,資料以Slot為單位進行資料移轉,不會造成Slot分裂,也不會產生業務無法處理的-ASK-TRYAGAIN錯誤,大幅度提高了業務的穩定性和使用者體驗。

    說明
    • 在RESP叢集協議中,非資料操作類命令例如PINGINFO等,以及特殊命令如PUB/SUB類和BLOCKING類命令,在Slot遷移後無法被自動重新導向,需要應用程式層定時更新路由表來擷取擴縮容後的最新拓撲。

    • 為了保證資料移轉前後的資料一致性,在資料移轉的最終階段,對應Slot的寫請求時延會增加,但不會失敗。

  • 縮短資料移轉時間長度:在擴縮容過程中,本方案採用以Slot為單位進行資料移轉,相較於以Key為單位的資料移轉方案,能夠顯著提高效率,從而有效縮短資料移轉的時間長度。

  • 彈性資源伸縮:支援Auto Scaling,滿足不同業務情境下的資源需求。

適用執行個體

  • 執行個體部署模式為雲原生版。

  • 適用下述執行個體版本:

    • Redis開源版5.0執行個體(小版本5.2.0及以上)

    • Redis開源版6.0執行個體(小版本6.0.2.0及以上)

    • Redis開源版7.0執行個體

    • Tair(企業版)記憶體型相容Redis 5.0版(小版本5.0.34及以上)

    • Tair(企業版)記憶體型相容Redis 6.0版

    • Tair(企業版)記憶體型相容Redis 7.0版

注意事項

  • 用戶端要求:

    • 若執行個體為叢集架構直連模式,需要用戶端能正確處理MOVED命令。

    • 若執行個體為叢集架構代理模式,在縮容時會釋放部分代理節點,產生串連斷開,需要用戶端具有斷線重連能力。

    • 擴縮容期間,可能會有較高的延遲導致用戶端命令逾時,需要用戶端具有逾時重連能力。

    說明

    建議使用推薦的用戶端

  • 特殊命令影響說明:

    • 在擴縮容期間使用Blocking類命令可能會產生報錯。

    • 在擴縮容期間使用Pub/Sub類命令不提供一致性保證,且視用戶端實現可能會產生報錯。