在Redis的安装和部署(Linux)一文中详细介绍了在Linux环境中搭建Redis服务,本文将介绍关于Redis分布式 集群搭建细节。
一、Redis集群架构
1、Redis集群架构图
蓝色的为Redis集群中的每个node节点,节点之间通过ping 命令,测试相互是否连接正常,普通集群没有主从区分,连接任何一个节点操作,都可以转发到其他任意一个节点。
1、Redis 容错机制
每Redis提供了节点之间相互发送的ping命令,用于测试每个节点的健康状态,集群中连接正常的节点接收到其他节点发送的ping命令时,会返回一个pong字符串。
Redis投票机制:如果一个节点A给B发送ping没有得到pong返回,那么A就会通知其他节点再次给B发送ping,如果集群中超过一半的节点给B发送ping都没有得到返回,那么B就被坐实game over了,所以为了避免单点故障,一般都会为Redis的每个节点提供一个备份节点,B节点挂掉了立马启动B的备份节点服务器。
2、Redis 集群存储原理
每个节点上的数据都不一样,(一样就是主备了)把数据都分散存放到各个节点上进行存储。如何确定哪些类型数据存入哪个节点呢?Redis中槽slot就用于圈定当前节点的存储范围,分散存储使用hash算法,确定什么值放到哪个槽里