`

Redis Cluster模式与Proxy模式比较

 
阅读更多

1. cluster模式

优点:

  1. 客户端(Jedis)直连redis节点,性能会更好

缺点:

    1. 客户端(Jedis)直连redis节点,意味着客户端就需要保存集群所有节点信息,当集群比较大100-200个master节点时,这个数据量会比较大

    2. 当集群规模比较大,100-200个master节点时,算上从节点,要到200-400个节点,互相ping pong的健康检查网络开销会非常大

 

2. proxy模式

优点:

    1. 客户端(Jedis)直连有限的proxy节点,会比较轻量和简单

    2. 集群规模理论上可以非常大,因为proxy对外隐藏了集群规模

缺点:

    1. 多了一层proxy访问,性能会有影响

    2. 需要第三方的proxy实现,集群水平扩容时proxy要想平滑动态更新集群配置,需要开发工具支持

 

3. 方案

    1. 采用 twemproxy做为代理,去zk获取集群配置

    2. 集群通过sentinel保证高可用

 

4. 水平扩容

    1. 开发工具,伪装成集群的slave节点,从而拿到RDB文件和增量更新数据,路由到新的集群(此处的路由算法要保证和twemproxy实际实现的一致)

    2. 当开发工具评估两个集群基本一致(实时更新数据较小、偏移量追平等因素综合考虑),更新新的集群配置到zk

    3. zk会动态通知twemproxy,由于twemproxy的路由算法跟4.1步骤相同,基本就可以保证平滑迁移

 

 

分享到:
评论

相关推荐

    redis-cluster-proxy:Redis集群的代理

    这种特殊模式需要使用了解群集协议的特殊客户端:通过使用此代理,可以将群集抽象化,并且可以与组成Redis群集的一组实例进行交谈,就像它们是单个实例一样。 Redis群集代理是多线程的,并且当前默认情况下使用多路...

    Redis Cluster的实现机制和原理

    - **无 Proxy 层设计**:与传统的分布式数据库架构不同,Redis Cluster 没有中心化的 Proxy 层或 Master 用于协调集群状态或存储状态信息。这种设计简化了系统的复杂度,提高了整体性能。 - **客户端智能路由**:...

    Redis Cluster集群的搭建与实践

    * 客户端与Redis节点直连,不需要中间proxy层。客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可。 * Redis Cluster把所有的物理节点映射到[0-16383]slot上(不一定是平均分配),cluster负责维护node...

    codis/redis 迁移redis cluster工具

    而Codis是阿里巴巴开源的一个分布式Redis解决方案,通过Proxy代理实现多实例的统一访问,解决了单个Redis实例无法满足大规模并发和大容量数据的问题。 Codis到Redis Cluster的迁移工具支持将已经在Codis集群中的...

    Redis 3.x 分布式集群搭建.pdf

    redis集群采用无中心节点方式实现,无需proxy代理,客户端直接与redis集群的每个节点连接,根据同样的hash算法计算出key对应的slot,然后直接在slot对应的redisj节点上执行命令。在redis看来,响应时间是最苛刻的...

    redis集群主流架构方案分析.doc

    本文将讨论四种主流的 Redis 集群架构方案:客户端分片、Twemproxy、Redis Cluster 以及 Proxy Redis Cluster。 1. 客户端分片: 客户端分片不依赖第三方中间件,实现方式灵活,可以随时调整分片策略。这种方法...

    java-redis-proxy:redis 集群代理 netty

    标题中的"java-redis-proxy"指的是一个Java实现的Redis代理服务,它的主要作用是作为客户端与Redis集群之间的中间层,以管理和优化对Redis集群的访问。通过使用代理,可以实现负载均衡、故障转移、数据路由等功能,...

    redis集群主流架构方案分析.docx

    本文对 Redis 集群的架构方案进行了分析和比较,涵盖了客户端分片、Twemproxy、Redis Cluster 和 Proxy Redis Cluster 等四种主流的架构方案。每种方案都有其优点和缺点,适用于不同的应用场景。 客户端分片 ...

    Redis集群_实际使用自己整理的版本.docx

    然而,传统的单实例模式限制了Redis的扩展能力,尤其是在面对大规模数据处理需求时显得力不足。因此,为了解决Redis的存储瓶颈问题,各大企业纷纷探索并实施了多种Redis集群解决方案。本文将详细介绍几种常见的Redis...

    藏经阁-Redis最佳实践与实战指南-47.pdf

    直连模式中,客户端直接连接Redis Cluster,减少中间环节,提高效率。 7. 迁移与故障迁移 标准版向集群版迁移可能遇到命令不兼容问题,代理模式能缓解这一问题。故障迁移过程中,备节点可能有数据延迟,需谨慎处理...

    Undermoon:Mordern Redis Cluster解决方案,易于操作

    字符串值压缩任何实现redis协议的存储系统都可以通过某种方式与undermoon配合使用,例如 。 有关Redis群集协议以及Undermoon如何实现的更深入的说明,请参阅。建筑元数据存储元数据存储存储整个undermoon群集的所有...

    新浪redis运维实战.pdf

    这个分享主要涵盖了三个核心部分:新浪数据库平台概览、精细化运维和Redis Cluster Proxy。 新浪数据库平台是一个庞大的系统,自2008年以来不断发展壮大,至今已拥有15个IDC数据中心,超过1200台物理服务器,运行着...

    阿里Redis最佳实践与实战指南.pdf

    - **直连模式**:客户端直接连接Redis Cluster,减少网络延迟,提升性能。 5. **Redis生态与扩展** - **TairHash与TairString**:阿里巴巴开源项目,为Redis提供了更多功能和性能优化。 - **Redis生态**:包括...

    大规模redis集群的服务治理之路

    Redis Cluster通过心跳机制检测节点的状态,一旦发现某个节点可能故障(PFAIL),集群会进行一系列的故障判断与恢复操作。 ##### 故障判定 - **心跳检测**: 节点间定期交换心跳信息来检测其他节点的状态。 - **PFAIL...

    redis-6.0.4.for windows

    作者先简单介绍 Redis 6 会给大家提供的新功能,包括: 一、对用户使用有直接影响的功能 ACL用户权限控制功能 RESP3:新的 Redis 通信协议 ...Redis Cluster Proxy Disque Redis6 Windows 版本编译

    redis-6.0.3 Release.rar

    redis-6.0.3 最新版exe可执行文件,redis6最大变化 就是加入了对多线程的支持。 一、对用户使用有直接影响的功能 ACL用户权限控制功能 RESP3:新的 Redis 通信协议 ...Redis Cluster Proxy Disque

    DTCC2016-代晓磊-Redis集群在大街网的应用实践.pdf

    - 随着业务量的增长,大街网引入了hash集群,通过中间代理层(如Proxy)进行路由分配,将数据分散到多个Redis节点。这种方式缓解了单节点压力,但因为中间层的存在,程序复杂度增加,且键值分布不均,依然未能彻底...

    Redis+nginx集群部署

    5. **配置Redis**:需要在Tomcat的`context.xml`文件中配置一个连接到Redis的SessionManager,例如使用`JedisCluster`库来连接Redis集群。 6. **Nginx与Tomcat的通信**:Nginx配置文件(如`nginx.conf`)需要设置...

    apache及redis部署

    对于Redis,可以配置哨兵系统(Sentinel)实现高可用性,或者使用Cluster实现分布式存储。 总之,Apache和Redis的部署是构建高效、可靠服务的基础。理解它们的工作原理,正确配置和使用,将为你的服务器提供强大的...

    nginx,redis安装包,集群架构使用

    4. **Redis Cluster**: 对于大规模分布式部署,可以使用Redis Cluster,它实现了数据分片和故障转移,自动处理数据分布和故障恢复,但需要客户端支持Cluster协议。 在实际应用中,结合Nginx和Redis的集群架构,可以...

Global site tag (gtag.js) - Google Analytics