redis 集群是 p2p 还是 master-slave?

图片.png

redis cluster 用的是 p2p 还是 master-slave?为什么网上两种说法都有?

阅读 2.1k
3 个回答

Redis集群有两种模式:

  • Cluster Mode: Redis Cluster是Redis的官方分布式解决方案。它使用哈希槽来在多个Redis节点之间分配数据。在Redis Cluster中,每个节点都知道整个集群中的其他节点,并且所有节点都以P2P方式通信。Redis Cluster提供高可用性和线性可扩展性,能够处理多达数百个节点。
  • Replication Mode: Redis Replication允许创建Redis的主从复制拓扑结构。在Redis Replication中,有一个主节点和一个或多个从节点。主节点接收写入操作,并将它们复制到从节点。从节点仅接收读操作。Redis Replication提供高可用性和读取性能,但不支持写扩展性。

需要注意的是,Redis Cluster和Redis Replication都是通过节点之间的网络通信来实现数据同步和复制的,因此网络协议在Redis集群中非常重要。

因为Redis集群(区别于单机)有两种模式。

1 副本模式

也就是Master-Slave模式,一主多从。只能写主库,从库为只读模式。

所有节点数据相同。

2 分片模式

也就是Cluster模式,不同实例存储不同数据。类似一致性哈希算法,将集群分成16384个哈希槽,将数据分散到不同实例存储。每个节点相对独立。

所有节点数据不同。


本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。

Redis集群有三种模式:
1.主从复制
2.哨兵机制
3.cluster(去中心化的p2p)

根据业务,使用的场景不太一样,具体参考:
主从模式:备份数据、负载均衡,一个Master可以有多个Slaves。
sentinel发现master挂了后,就会从slave中重新选举一个master。
cluster是为了解决单机Redis容量有限的问题,将数据按一定的规则分配到多台机器。
sentinel着眼于高可用,Cluster提高并发量。

本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。

推荐问题
宣传栏