RedisCluster集群
集群特点
- 无中心节点,客户端与redis节点直连,不需要中间代理层
- 数据可以被分片存储
- 管理方便,后续可自行增加或摘除节点
Redis集群是分片存储数据的,意味着每个节点的数据都不一样,当有一个节点故障的时候麻很容易数据丢失,因此我们需要给每个节点搭建从节点以备份数据。
我们用到三节点构建一个集群,但是为了防止节点故障导致数据丢失,我们为每个节点配置一个冗余节点。总共用到了六个节点,正常数据操作的是节点成为主节点,备份数据的称为从节点。
Redis主从同步
Redis主从同步特点
- Redis集群中的数据库复制是通过主从同步来实现的
- 主节点(Master)实时把数据分发给从节点(Slave)
- 主从同步的好处在于高可用,Redis节点有冗余设计
Redis集群高可用
- Redis集群中应该包含奇数个Master,至少应该有3个Master
- Redis集群中每个Master都应该有Slave
为什么要包含奇数个呢?
这是因为PXC集群和Redis集群都有选举机制,当集群中大部分节点挂了之后,剩余节点会进行选举,组建一个新的集群。当挂了超过一半的时候将无法再组成集群。
还有一点Redis集群是切片存储数据的,当我们连接到一个Master,通过一定的计算规则判断数据是否应该存储到该Master,如果是则存储,如果不是则发送到应该存储的Master节点。这样虽然是切片存储数据,我们只要连接一个Master就可以取出全部数据。
安装Redis镜像
导入本地Redis镜像文件,运行Redis容器
1 |