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这种缓存数据库的性能影响,是不能忽略的,所以,建议扩展和收缩的操作,要在业务空闲期间执行。