redis 三种部署方案

一、主从复制

同Mysql主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。为了分担读压力,Redis支持主从复制,Redis的主从结构可以采用一主多从或者级联结构,Redis主从复制可以根据是否是全量分为全量同步和增量同步。下图为级联结构。

 优点:

1. 解决数据备份问题

2. 做到读写分离,提高服务器性能

缺点:

1. master节点挂了以后,redis就不能对外提供写服务了,因为剩下的slave不能成为master, 需要人工进行重启master节点.

二、哨兵(sentinel)模式

sentinel的中文含义是哨兵、守卫。也就是说既然主从模式中,当master节点挂了以后,slave节点不能主动选举一个master节点出来,那么我就安排一个或多个sentinel来做这件事,当sentinel发现master节点挂了以后,sentinel就会从slave中重新选举一个master。

当使用sentinel模式的时候,客户端就不要直接连接Redis,而是连接sentinel的ip和port,由sentinel来提供具体的可提供服务的Redis实现,这样当master节点挂掉以后,sentinel就会感知并将新的master节点提供给使用者。

优点:

1. 当主节点挂掉, 哨兵会感知到自动推举slave生成新的主节点.

缺点:

1.数据量过大到一台服务器存放不下的情况时,主从模式或sentinel模式就不能满足需求了,这个时候需要对存储的数据进行分片,将数据存储到多个Redis实例中,  需要选择集群模式.

三、集群模式

redis集群是一个由多个主从节点群组成的分布式服务器群,它具有复制、高可用和分片特性。redis集群不需要sentinel哨兵也能完成节点移除

和故障转移的功能。需要将每个节点设置成集群模式,这种集群模式没有中心节点,可水平扩展,据官方文档称可以线性扩展到1000节点。

redis集群的性能和高可用性均优于之前版本的哨兵模式。

 这种模式适合数据量巨大的缓存要求,当数据量不是很大使用sentinel即可。

 

posted @ 2020-07-16 21:10  所向披靡zz  阅读(1896)  评论(0编辑  收藏  举报