DCS管理控制臺支持(chi)變(bian)更Redis緩存實例(li)規格(ge),即(ji)擴容/縮(suo)容,您可(ke)以(yi)根據(ju)實際(ji)需要(yao),選(xuan)擇(ze)合適的(de)實例(li)規格(ge)。
說明
執行實例規(gui)格變更操(cao)作,建議(yi)在(zai)業(ye)(ye)務(wu)低峰期(qi)進行。業(ye)(ye)務(wu)高峰期(qi)(如實例在(zai)內(nei)存利用(yong)率、CPU利用(yong)率達到90%以上或寫入流(liu)量過大)變更規(gui)格可能會(hui)失敗(bai),若變更失敗(bai),請(qing)在(zai)業(ye)(ye)務(wu)低峰期(qi)再次嘗試變更。
如果實(shi)例(li)創建時間(jian)非常早,由于實(shi)例(li)版(ban)(ban)本沒有升(sheng)級而無法兼容(rong)規格變更(擴容(rong)/縮容(rong))功(gong)能(neng),請聯系技術支持將緩存實(shi)例(li)升(sheng)級到最新版(ban)(ban)本,升(sheng)級后就可以支持規格變更(擴容(rong)/縮容(rong))功(gong)能(neng)。
變更規格過程中(zhong)會有秒級(ji)業(ye)務中(zhong)斷,需要業(ye)務連(lian)接Redis的模塊支持連(lian)接中(zhong)斷后重連(lian)。
實例變更(geng)規格(ge),不會影響(xiang)實例的連(lian)接地址(zhi)、訪問密碼、數據、及安全組/白名單配置等信息(xi)。
實例類型變更須知
DCS實(shi)例(li)類(lei)型(xing)變(bian)更(geng)明細
實例版本 支持的實例變更類型 變更須知及影響 Redis 3.0 單機實例變更為主備實例 連接會有秒級中斷,大約1分鐘左右的只讀。 主備實例變更為Proxy集群實例 如果Redis 3.0主備實例數據存儲在多DB上,或數據存儲在非DB0上,不支持變更為Proxy集群;數據必須是只存儲在DB0上的主備實例才支持變更為Proxy集群。
連接會中斷,5~30分鐘只讀。Redis 4.0/5.0 主備實例或讀寫分離實例變更為Proxy集群實例 變更為proxy集群時,需要評估proxy集群的多DB使用限制和命令使用限制對業務的影響。具體請參考Proxy集群使用多DB限制,實例受限使用命令。
變更前實例的已用內存必須小于變更后最大內存的70%,否則將不允許變更。
如果變更前實例的已用內存超過總內存的90%,變更的過程中可能會導致部分key逐出。
變更完成后需要對實例重新創建告警規則。
如果原實例是主備實例,請確保應用中沒有直接引用只讀IP或只讀域名。
請確保您的客戶端應用具備重連機制和處理異常的能力,否則在變更規格后有可能需要重啟客戶端應用。
變更規格過程中會有秒級業務中斷、大約1分鐘只讀,建議在業務低峰時進行變更。Proxy集群實例變更為主備實例或讀寫分離實例
除了上表中提到的實例外,其他實例類型目前不支持實例類型的變更,若您想實現跨實例類型的規格變更,可參考實例交換IP進行操作。
實例類型變更后支持的命令,請參考對應的開源命令兼容性。
實例規格大小變更前須知
- 支持擴容和縮容明細如下:
DCS實例(li)規格變更(geng)說明(ming)
| 緩存類型 | 單機實例 | 主備實例 | Cluster集群實例 | Proxy集群實例 | 讀寫分離實例 |
|---|---|---|---|---|---|
| Redis 3.0 | 支持擴容和縮容 | 支持擴容和縮容 | 不涉及 | 支持擴容 | 不涉及 |
| Redis 4.0 | 支持擴容和縮容 | 支持擴容、縮容和副本數變更 | 支持擴容、縮容和副本數變更 | 支持擴容和縮容 | 支持擴容、縮容和副本數變更 |
| Redis 5.0 | 支持擴容和縮容 | 支持擴容、縮容和副本數變更 | 支持擴容、縮容和副本數變更 | 支持擴容和縮容 | 支持擴容、縮容和副本數變更 |
| Redis 6.0 | 支持擴容和縮容 | 支持擴容和縮容 | 不涉及 | 不涉及 | 不涉及 |

說明Redis3.0實(shi)例(li)在(zai)預(yu)留內存(cun)不足的(de)情況下,內存(cun)用滿可(ke)能會(hui)導致擴容失(shi)敗。
副本數(shu)變(bian)更和容量變(bian)更不支持同時進行(xing),需(xu)分開兩次執(zhi)行(xing)變(bian)更。
- 實例規格變更的影響:
實例規格變更的影響
| 實例類型 | 規格變更類型 | 實例規格變更的影響 |
|---|---|---|
| 單機、主備和讀寫分離實例 | 擴容/縮容 | Redis 4.0/5.0/6.0基礎版實例,擴容期間連接會有秒級中斷,大約1分鐘的只讀,縮容期間連接不會中斷。 Redis 3.0實例,規格變更期間連接會有秒級中斷,5~30分鐘只讀。 如果是擴容,只擴大實例的內存,不會提升CPU處理能力。 單機實例不支持持久化,變更規格不能保證數據可靠性。在實例變更后,需要確認數據完整性以及是否需要再次填充數據。如果有重要數據,建議先把數據用遷移工具遷移到其他實例備份。 主備和讀寫分離實例縮容前的備份記錄,縮容后不能使用。如有需要請提前下載備份文件,或縮容后重新備份。 |
| Proxy和Cluster集群實例 | 擴容/縮容 | 擴容/縮容分片數未減少時,連接不中斷,但會占用CPU,導致性能有20%以內的下降。 擴容/縮容分片數減少時,刪除節點會導致連接閃斷,請確保您的客戶端應用具備重連機制和處理異常的能力,否則在變更規格后可能需要重啟客戶端應用。 分片數增加時,會新增數據節點,數據自動負載均衡到新的數據節點。 分片數減少時,會刪除節點。Cluster集群實例縮容前,請確保應用中沒有直接引用這些刪除的節點,否則可能導致業務訪問異常。 縮容前,實例每個節點的已用內存要小于縮容后節點最大內存的70%,否則將不允許變更。 實例規格變更期間,會進行數據遷移,訪問時延會增大。Cluster集群請確保客戶端能正常處理MOVED和ASK命令,否則會導致請求失敗。 實例規格變更期間,如果有大批量數據寫入導致節點內存寫滿,將會導致變更失敗。 在實例規格變更前,請先使用緩存分析中的大key分析,確保實例中沒有大key存在,否則在規格改變后,節點間進行數據遷移的過程中,單個key過大(≥512MB)會觸發Redis內核對于單key的遷移限制,造成數據遷移超時失敗,進而導致規格變更失敗,key越大失敗的概率越高。 Cluster集群實例擴容或縮容時,如果您使用的是Lettuce客戶端,請確保開啟集群拓撲自動刷新配置,否則在變更后需要重啟客戶端。開啟集群拓撲自動刷新配置請參考Lettuce客戶端連接Cluster集群實例中的示例。 實例規格變更前的備份記錄,變更后不能使用。如有需要請提前下載備份文件,或變更后重新備份。 |
| 主備、讀寫分離和Cluster集群實例 | 副本數變更 | Cluster集群實例增加或刪除副本時,如果您使用的是Lettuce客戶端,請確保開啟集群拓撲自動刷新配置,否則在變更后需要重啟客戶端。開啟集群拓撲自動刷新配置請參考Lettuce客戶端連接Cluster集群實例中的示例。 刪除副本會導致連接中斷,需確保您的客戶端應用具備重連機制和處理異常的能力,否則在刪除副本后需要重啟客戶端應用。增加副本不會連接中斷。 當副本數已經為實例支持的最小副本數時,不支持刪除副本。 |
操作步驟
步驟(zou) 1 登(deng)錄(lu)分布式(shi)緩存服務管理控制臺。
步驟 2 在管理控制臺左上角單擊
,選擇區域和項目。
步驟(zou) 3 單擊(ji)左側(ce)菜單欄的“緩存(cun)管理(li)”。進入緩存(cun)管理(li)頁面。
步驟 4 在需要規格(ge)(ge)變(bian)(bian)(bian)更的(de)實例右側,單(dan)擊“操作”欄下的(de)“更多 > 變(bian)(bian)(bian)更規格(ge)(ge)”,進入到分布式緩存服務變(bian)(bian)(bian)更規格(ge)(ge)頁面(mian)。
步驟 5 在(zai)變(bian)更(geng)實例規格(ge)頁面中,選擇您需要變(bian)更(geng)的目標規格(ge)。
說明Redis 4.0/5.0主備、讀寫分離(li)和(he)Cluster集群實例支持選擇“容量變更”或“副(fu)本數變更”。
步(bu)驟 6 選擇變(bian)更時(shi)間(jian)為“立即(ji)變(bian)更”或(huo)“可維(wei)護時(shi)間(jian)窗內(nei)進行變(bian)更”。
“可維護時間窗內進行變更”適用于如下 變更規格時存在客戶端連接中斷的場景 。
變更規格時存在客戶端連接中斷的場(chang)景
| 變更規格任務 | 客戶端連接中斷的場景 |
|---|---|
| 單機或主備實例擴容 | 從8G以下擴容到8G或8G以上時 |
| Proxy或Cluster集群實例縮容 | 分片數減少時 |
| 變更實例類型 | 主備/讀寫分離與Proxy集群之間實例類型變更 |
| 刪除副本 | 主備/Cluster集群/讀寫分離實例刪除副本 |
說明
?不涉及(ji)客戶端連接中斷的(de)場(chang)景(jing),選擇在可維護(hu)時間窗內變更(geng),也會立即變更(geng)。
提交變更(geng)規格后,不支持取(qu)消變更(geng),可(ke)以(yi)修(xiu)改(gai)“維(wei)護(hu)時(shi)間(jian)(jian)窗”時(shi)間(jian)(jian)推(tui)遲變更(geng)(變更(geng)過程中,維(wei)護(hu)時(shi)間(jian)(jian)窗可(ke)修(xiu)改(gai)次(ci)數不超(chao)過3次(ci))。
Redis 3.0變更實例時,僅支持“立(li)即(ji)變更”
在(zai)“維護(hu)時(shi)間(jian)(jian)(jian)窗”內變(bian)更的實例,變(bian)更的起(qi)(qi)始(shi)時(shi)間(jian)(jian)(jian)點是在(zai)維護(hu)時(shi)間(jian)(jian)(jian)窗時(shi)段內的隨機時(shi)間(jian)(jian)(jian),不是維護(hu)時(shi)間(jian)(jian)(jian)窗的起(qi)(qi)始(shi)時(shi)間(jian)(jian)(jian)。
集(ji)群實例縮(suo)容需要遷移的數據量過大時,縮(suo)容完(wan)成的時間可(ke)能會(hui)超出可(ke)維護時間窗。
步驟 7 單擊“下一步”,在(zai)彈窗中(zhong)了解變更須知(zhi)后(hou),單擊“確認變更”。
步驟 8 單(dan)擊(ji)“提交(jiao)訂單(dan)”,開始變更DCS緩存(cun)實例。
在界面上您可以選擇跳轉到后臺任務列表,查看變更任務的狀態,具體可參考查看實例后臺任務。
DCS單機和主備(bei)緩存實例(li)規格(ge)變(bian)更大約需要5到30分鐘,集群實例(li)規格(ge)變(bian)更所需時間稍長。實例(li)規格(ge)變(bian)更成功后(hou),實例(li)狀(zhuang)態切換為(wei)“運行中”。
說明
當單機(ji)實例(li)(li)規格(ge)(ge)變更失敗時,實例(li)(li)對用戶暫(zan)不可用,實例(li)(li)規格(ge)(ge)仍(reng)然(ran)為變更前的規格(ge)(ge),部分管理(li)操作(如參數配置、規格(ge)(ge)變更等)暫(zan)不支持(chi),待(dai)后(hou)臺完(wan)成變更處理(li)后(hou),實例(li)(li)將自動恢復正常,實例(li)(li)規格(ge)(ge)將更新為變更后(hou)的規格(ge)(ge)。
當主(zhu)備和集群(qun)實(shi)例規(gui)(gui)格(ge)變更失(shi)敗(bai)時,實(shi)例對用戶仍然(ran)可用,實(shi)例規(gui)(gui)格(ge)仍然(ran)為變更前(qian)的(de)(de)規(gui)(gui)格(ge),部分管(guan)理操作(zuo)(如參(can)數配置、備份恢復、規(gui)(gui)格(ge)變更等)暫不(bu)支持,請按照變更前(qian)的(de)(de)規(gui)(gui)格(ge)使用,避免(mian)因數據(ju)超過規(gui)(gui)格(ge)而被(bei)丟失(shi)。
當規格(ge)變更成(cheng)功(gong)時(shi),您可以(yi)按照新的(de)規格(ge)使用DCS緩存(cun)實(shi)例。