欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Redis Cluster模式与Proxy模式比较 博客分类: Redis

程序员文章站 2024-03-18 18:54:16
...

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步骤相同,基本就可以保证平滑迁移