方案一 单机版
对缓存没有较高的要求,缓存挂了也不影响业务的场景,可以使用。
方案二 主从复制
主故障后,需要人工切换到从,应用程序也需要进行重连。
方案三 哨兵
主从复制的改进,可以自动监控各节点的状态,当主节点故障时,自动从从节点选择一个做为主节点。
缺点:故障切换期间,将导致服务的不可用。
方案四 集群
真正的分布式存储缓存,一般使用多主多从,如3主3从,6主6从等
缺点:故障切换期间,也存在服务的不可用。比如当请求到节点1,此时节点1故障,节点1的从变成主的期间,该请求的服务不可用。但相比哨兵模式,已经把不可用减少了很多。
优点:可以动态扩容,内存不足时,可以无限扩展(据官方介绍,可以扩展到1000个节点,按一个节点10万的并发,理论上可以达到1亿的并发)。
生产环境可用方案三和方案四