Redis作爲一個緩存數據庫,在互聯網行業,備受推崇。其獨具的很多優勢,可以解決很多業務架構的緩存需求。
針對Redis產品,AWS推出了對於的PAAS服務Elasticache for Redis。今天,我們簡單介紹一下,如何創建Elasticache for Redis Cluster。
並且測試一下redis在重新分片的過程中,大概需要消耗多少時間。
關於ElastiCache Scaling鏈接
1. 集羣有一個統一的endpoint,提供給client訪問
2. 創建了3個sharding, 後面的就是分片,具體存在於哪個節點上,一共是有 16384個 hash slot。
3. 點擊進入一個 sharding,就可以看到,下面有三個節點,一組兩從,但是現在頁面,沒有顯示哪個是主的,那個是從的。我們也可以通過下面的endpoint進行訪問,但是如果出現機器宕機,或者需要訪問的slot不在這個sharding,就會訪問失敗。所以,一定要用總的redis endpoint進行訪問。
4. 增加sharding 實例
5. 實際完成耗時13分鐘(這是一個空的redis cluster,如果是生產環境,數據越多,sharding越慢)
6. 刪除shard操作
7. 刪除操作10分鐘,未完成
8.刪除操作完成,總耗時17分鐘
總結,redis作爲 緩存數據庫,一般場景,內存消耗量,緩存數據量不會非常大。或者說,緩存數據量相對穩定。在add shards和delete shards的過程中,都有很長的modifying的時間,這個時間週期,對於redis這種緩存數據庫的性能影響,是不能忽略的,所以,建議擴展和收縮的操作,要在業務空閒期間執行。