redis集群模式有哪些?都有哪些优缺点?

提问者:帅平 问题分类:运维

redis集群模式有哪些?都有哪些优缺点?

4 个回答
Rae
Rae 管理员

第四种redis的集群模式: Redis Cluster,如图:

Redis Cluster模式特点如下:

1)集群完全去中心化,采用多主多从;所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽。
2)客户端与 Redis 节点直连,不需要中间代理层。客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可。
3)每一个分区都是由一个Redis主机和多个从机组成,分片和分片之间是相互平行的。
4)每一个master节点负责维护一部分槽,以及槽所映射的键值数据;集群中每个节点都有全量的槽信息,通过槽每个node都知道具体数据存储到哪个node上。

发布于:1个月前 (10-17)
Rae
Rae 管理员

第三种redis的集群模式: 客户端分片,如图:

客户端分片模式的优缺点如下:

优点:
1)客户端sharding技术使用hash一致性算法分片的好处是所有的逻辑都是可控的,不依赖于第三方分布式中间件。服务端的Redis实例彼此独立,相互无关联,每个Redis实例像单服务器一样运行,非常容易线性扩展,系统的灵活性很强。开发人员清楚怎么实现分片、路由的规则,不用担心踩坑。
缺点:
1)这是一种静态的分片方案,需要增加或者减少Redis实例的数量,需要手工调整分片的程序。
2)运维成本比较高,集群的数据出了任何问题都需要运维人员和开发人员一起合作,减缓了解决问题的速度,增加了跨部门沟通的成本。
3)在不同的客户端程序中,维护相同的路由分片逻辑成本巨大。比如:java项目、PHP项目里共用一套Redis集群,路由分片逻辑分别需要写两套一样的逻辑,以后维护也是两套。

发布于:1个月前 (10-17)
Rae
Rae 管理员

第二种redis的集群模式: 哨兵模式,如图:

哨兵模式的优缺点如下:

优点:
1)哨兵模式是基于主从模式的,解决可主从模式中master故障不可以自动切换故障的问题。
缺点:
1)是一种中心化的集群实现方案:始终只有一个Redis主机来接收和处理写请求,写操作受单机瓶颈影响。
2)集群里所有节点保存的都是全量数据,浪费内存空间,没有真正实现分布式存储。数据量过大时,主从同步严重影响master的性能。
3)Redis主机宕机后,哨兵模式正在投票选举的情况之外,因为投票选举结束之前,谁也不知道主机和从机是谁,此时Redis也会开启保护机制,禁止写操作,直到选举出了新的Redis主机。

发布于:1个月前 (10-17)
Rae
Rae 管理员

第一种redis的集群模式: 主从模式,如图:

主从模式的优缺点如下:

优点: 主从结构具有读写分离,提高效率、数据备份,提供多个副本等优点。
缺点: 主从模式不具备自动容错和恢复功能,主节点故障,集群则无法进行工作,可用性比较低,从节点升主节点需要人工手动干预。

发布于:1个月前 (10-17)
我来回答