Redis 主从复制、哨兵和集群三者区别

主从复制是为了数据备份,哨兵是为了高可用,Redis主服务器挂了哨兵可以切换,集群则是因为单实例能力有限,搞多个分散压力,简短总结如下:

主从模式

备份数据、负载均衡,一个Master可以有多个Slaves。

sentinel模式

发现master挂了后,就会从slave中重新选举一个master。

cluster模式

是为了解决单机Redis容量有限的问题,将数据按一定的规则分配到多台机器。

单机模式、主从模式、sentinel 模式依次递进,单机模式无法解决机器故障导致的无法提供服务的问题,主从模式无法解决主节点停止后选举master的问题,sentinel模式解决了主从的问题。

sentinel着眼于高可用,Cluster提高并发量。

Redis 的哨兵模式基本已经可以实现高可用,读写分离 ,但是在这种模式下每台 Redis 服务器都存储相同的数据,浪费内存且有木桶效应,所以在redis3.0上加入了 Cluster 集群模式,实现了 Redis 的分布式存储,也就是说每台 Redis 节点上存储不同的内容。

Redis Cluster是社区版推出的Redis分布式集群解决方案,主要解决Redis分布式方面的需求,比如,当遇到单机内存,并发和流量等瓶颈的时候,Redis Cluster能起到很好的负载均衡的目的。

Redis Cluster着眼于提高并发量。集群至少需要3主3从,且每个实例使用不同的配置文件,主从不用配置,集群会自己选。

在redis-cluster架构中,redis-master节点一般用于接收读写,而redis-slave节点则一般只用于备份, 其与对应的master拥有相同的slot集合,若某个redis-master意外失效,则再将其对应的slave进行升级为临时redis-master。

你可能感兴趣的:(缓存,数据库,redis,redis,数据库,java)