redis cluster 用的是 p2p 还是 master-slave?为什么网上两种说法都有?
因为Redis集群(区别于单机)有两种模式。
也就是Master-Slave
模式,一主多从。只能写主库,从库为只读模式。
所有节点数据相同。
也就是Cluster
模式,不同实例存储不同数据。类似一致性哈希算法,将集群分成16384
个哈希槽,将数据分散到不同实例存储。每个节点相对独立。
所有节点数据不同。
本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
Redis集群有三种模式:
1.主从复制
2.哨兵机制
3.cluster(去中心化的p2p)
根据业务,使用的场景不太一样,具体参考:
主从模式:备份数据、负载均衡,一个Master可以有多个Slaves。
sentinel发现master挂了后,就会从slave中重新选举一个master。
cluster是为了解决单机Redis容量有限的问题,将数据按一定的规则分配到多台机器。
sentinel着眼于高可用,Cluster提高并发量。
本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
27 回答12.8k 阅读
3 回答3.6k 阅读✓ 已解决
6 回答1.1k 阅读✓ 已解决
8 回答2.9k 阅读
3 回答2.1k 阅读✓ 已解决
1 回答1.9k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
Redis集群有两种模式:
需要注意的是,Redis Cluster和Redis Replication都是通过节点之间的网络通信来实现数据同步和复制的,因此网络协议在Redis集群中非常重要。