`
lcycenter
  • 浏览: 35341 次
  • 来自: ...
社区版块
存档分类
最新评论

Redis Presharding

 
阅读更多

1. 前提
Redis非常轻量,Redis很多底层代码都是自己写的,唯一只需要依赖libc。
正因为如此,一个Redis实例占用的内存非常小(1M左右),所以在一台服务器上部署多个实例(32、64、128...)完全没有问题。

2. Presharding思路
假设有N台主机,每台主机上部署M个实例,整个系统有T = N x M个实例

由于一个Redis实例的资源消耗非常小,所以一开始就可以部署比较多的Redis实例,比如128个实例

在前期业务量比较低的时候,N可以比较少,M比较多,而且主机的配置(CPU+内存)可以较低
在后期业务量较大的时候,N可以较多,M变小

总之,通过这种方法,在容量增长过程可以始终保持Redis实例数(T)不变,所以避免了重新Sharding的问题

3. 问题和挑战
Redis实例多了,必然导致运维管理成本增加。
要用好Presharing方案,必须有相应的自动化运维手段相配套,比如:Redis实例的启停脚本、能检查Redis状态的运维监控手段;

原文详见:http://antirez.com/post/redis-presharding.html

 

 

分享到:
评论
2 楼 hzx2010 2012-11-14  
                   
1 楼 CalvinMnakor 2012-03-03  
我测试的 使用redis sharding后rps性能减低为了单台的十分之一 不知道有没有其他的好的redis扩展解决方案?

相关推荐

Global site tag (gtag.js) - Google Analytics