擴容與類型變更
更新時間 2024-10-17 15:38:11
最近更新時間: 2024-10-17 15:38:11
分享文章
Redis實例是否支持擴容?
在Redis管理控制臺支持變更實例的容量,通過該操作可調整實例的規格,以滿足不同的容量需求。具體操作請參考實例生命周期管理-擴容
實例擴容時對業務是否會造成影響?
- 實例執行切換時會出現1~2次30秒內的連接閃斷。
- 為保障擴容后的新實例能快速追平原實例的增量數據,同時規避因DNS緩存引起的數據雙寫,在擴容過程中,實例每個分片節點會出現1分鐘內的只讀狀態。
- 擴容完成后,源實例的實例ID、連接地址、數據、白名單配置以及已創建的賬號密碼配置等均不會改變。
Redis實例是否支持縮容?
目前暫不支持實例縮容。
Redis實例是否類型變更?
Redis管理控制臺支持變更實例的類型,通過該操作可將實例單副本變更為雙副本,以滿足更高的可靠性、穩定性需求。目前該功能已白名單開放,如需使用請聯系技術支持。
支持哪些實例類型變更?變更操作會有什么影響?
| 實例版本 | 支持的實例變更類型 | 變更須知及影響 |
|---|---|---|
| Redis 2.8/4.0/5.0 | 單機實例變更為主備實例 | 連接會有秒級中斷,大約1分鐘左右的只讀。 |
| Redis 2.8/4.0/5.0 | 集群單機實例變更為集群主備實例 | 每個分片節點連接會有秒級中斷,大約1分鐘左右的只讀。 |
| Redis 6.0/7.0 | 單機實例變更為主備實例 | 連接無影響,業務無感知。 |
| Redis 6.0/7.0 | cluster單機實例變更為cluster主備實例 | 連接無影響,業務無感知;建議業務方后續將新增的從節點地址加入連接地址,提高可用性。 |
Redis實例是否支持版本升級,如Redis 4.0升級到Redis 5.0?
目前暫不支持跨版本升級
實例規格變更是否需要關閉或重啟實例?
當實例處于運行中的狀態,即可進行規格變更,不會進行實例資源的關閉、重啟操作。
Redis實例實例類型變更失敗的原因
當Redis實例處于運行中狀態才可執行實例類型變更操作,請檢查是否有其他任務正在執行,如擴容、刪除、重啟等操作。如有其他任務執行,請稍后重試。
Redis集群實例如何內存不變,只擴分片數?
目前僅cluster單機、cluster主備可支持只擴分片數,不變更內存;其余架構暫不支持只修改分片數量。
集群實例是否支持單分片擴容?
目前僅cluster單機、cluster主備可支持對單分片容量擴容;其余架構暫不支持針對單分片容量擴容,僅支持對整個集群進行擴容,如需對集群進行擴容,請參考實例生命周期管理-擴容
在維護時間窗內對實例進行擴容或類型變更是否有業務中斷?
若在維護時間內進行擴容,可能會造成短時間的業務中斷。
Cluster集群實例進行規格擴容后,Lettuce客戶端連接異常問題
在實例擴容后分片數有變化,槽位(Slot)會發生變化,部分槽位遷移到新分片上,
使用lettuce客戶連接Cluster實例,客戶端訪問新分片時會出現 Connection to xxx not allowed. 問題
詳情可參考Lettuce社區。
解決方案:開啟Cluster集群自動刷新拓撲配置。
ClusterTopologyRefreshOptions?topologyRefreshOptions?=?ClusterTopologyRefreshOptions.builder()
?????????????//?每隔time毫秒周期性刷新
????????????.enablePeriodicRefresh(Duration.ofMillis(time))
?????//?MOVED重定向,?ASK重定向,?重連,?未知節點(since?5.1),?槽位不在當前所有分片中(since?5.2),當出現這五種情況時會觸發自適應刷新?
????????????.enableAllAdaptiveRefreshTriggers()
????????????.build();