一,redis集群介绍
Redis cluster(redis集群)是在版本3.0后才支持的架构,和其他集群一样,都是为了解决单台服务器不够用的情况,也防止了主服务器宕机无备用服务器,多个节点网络互联数据共享,所有节点都是一主一从(也可以一主多从),其中不提供服务,只做为备份,emmm……
首先我们看两道Redis常见的高频面试题。
1、Redis有哪些集群策略?
Redis 集群策略有以下 3 种:
- 主从策略:1 台机器作为写操作,另外 2 台作为读操作,类似于 MySQL 的主从方式;
- 哨兵策略:增加 1 台机器作为哨兵,监控 3 台主从机器,当主节点挂机的时候,机器内部进行选举,从集群中从节点里指定一台机器升级为主节点,从而实现高可用。当主节点恢复的时候,加入到从节点中继续提供服务;
- 集群策略:Redis 3.0 之后增加了集群的概念,可实现多主多从的结构,实现真正的高可用。
2、Redis集群实现方案有哪些?
Redis 集群实现方案如下:
- Twemproxy 是 Twitter 开源的 Redis 代理,它的使用和普通 Redis 完全一致,它会以一个代理的身份接收请求,并使用 hash 算法将请求转接到具体 Redis,将结果再返回 Twemproxy;
- Codis 是开源解决方案,也是目前用的最多的集群方案