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

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扩展解决方案?

相关推荐

    JAVA程序员培训(系列四)-REDIS集群、分片Sharding及使用场景介绍.pptx

    - **分片策略**:采用预分片(presharding)的方式,使用`crc32(key)%1024`的哈希算法将数据映射到1024个slot中。这1024个slot会被均匀地分配到不同的CODIS服务器上,从而实现负载均衡。 - **示例**:如果后端有3组...

    Redis V3.0 中文文档

    第 1 章Redis 介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 第 2 章数据类型初探. . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...

    redis 学习笔记

    - 预分片(Presharding):为了避免单个 Redis 实例的瓶颈,可以预先将数据分布在多个实例上,提高并发处理能力。预分片可以通过设置多个独立的 Redis 实例或者使用客户端库来实现。 4. 其他优化措施: - 内存...

    Redis 3.0 中文版 - v1.1.pdf

    第 1 章Redis 介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 第 2 章数据类型初探. . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...

    Redis主从复制问题和扩容问题的解决思路

    总结,Redis主从复制问题可以通过主动复制或修改源码实现增量同步来解决,而扩容则可以采用Presharding策略,结合业务特点灵活调整实例分布,以实现平滑、高效地扩展Redis集群。在实际应用中,应根据业务场景、数据...

    Redis 分区

    5. **预分区(Presharding)**:为了缓解动态调整容量的问题,可以采用预分区技术预先分配好实例,但这需要良好的规划和管理。 Redis分区主要有两种类型: 1. **范围分区**:按照键值的范围分配到特定的实例。例如...

    深入解读JIMDB—京东分布式缓存与高速KV存储(袁航演讲稿)

    - **数据分片**:引入了一致性哈希(Consistent Hashing)与预分片(Presharding)技术来优化数据分布。 - **运维体系**:初步建立了基础的管理系统,用于监控和服务报警。 ##### JimDB 2.0阶段 - **高可用性**:...

Global site tag (gtag.js) - Google Analytics