首先讓我們來列舉一些事實:遷移到Redis的AWS Elasticache用最少的停機時間
- Elasticache不能成爲我現有的Redis設置的奴隸。真正的恥辱,那會更有效率。
- 我只有一臺Redis服務器進行遷移,大約有3GB的數據。
- 停機時間必須小於10分鐘。我假設通常的「停止站點,停止redis,提供快照集羣」將花費比這更長的時間。
這個問題類似:How do I set an elasticache redis cluster as a slave?如何這可能工作
一個想法:
- 集的Redis使用的AOF和觸發BGSAVE在同一時間。
- 當BGSAVE完成時,使用RDB種子設置Elasticache羣集。
- 停止該站點並關閉我的本地Redis實例。
- 使用aof-replay工具將AOF重播到Elasticache中。
- 再次啓動站點,指向Elasticache羣集。
我的問題:
- 我怎麼能保證我的AOF文件開始在準確的RDB文件結束點,並且沒有數據之間寫成?
- 是否存在被Redis的的維護支持的AOF工具,或者是他們所有第三方解決方案,以及可靠性值得懷疑,因此(潛在的)?*
*無犯罪意圖的這種工具的任何作家,我相信他們很棒,我只是覺得使用由同一個團隊編寫的工具來避免潛在的兼容性錯誤更有信心。
您的應用程序可否在沒有Redis的情況下運行?它會慢嗎(當然不能訪問緩存)還是會失敗? –
您的用戶一夜之間活躍多久? 3 am-5am?那時候,我將遷移生產應用程序中的一項重大更改,以適應我們的業務用戶。即使您的應用程序全天候使用,如果您在遷移過程中脫機30分鐘,則可能會計劃使用率較低,以最大限度地減少注意到的影響。 –
沒有Redis的應用程序基本沒用,並且沒有真正的日常使用模式。這是一個24小時內持續加載的應用程序。是什麼讓你猜測它只有30分鐘的停機時間? – arrtchiu