Redis集群 - 详解
一.redis主从模式:一主一从或一主多从,自带读写分离,负载均衡。
1.原理:第一次同步时,运用RDB(快照),在同步时,主服务器产生的数据,会记录偏移量,在同步完毕后,进行偏移量的同步。
2.工作机制:
①之后的同步的材料是通过AOF日志方式同步的。
②当slave启动后,主动向master发送SYNC(同步命令)。
③master接收到SYNC命令后在后台保存快照(RDB持久化)和缓存保存快照这段时间内的命令。
④继而将保存的快照资料和缓存的命令发送给slave;
⑤slave收到快照文件和命令后加载快照文档和缓存的执行命令;
⑥复制初始化后,master每次收到的写命令都会同步发送给slave,保证主从数据一致性。
3.缺点:只有从服务器能写入材料,从服务器只能读,主服务器一旦宕机,导致无法写入数据。
二.redis哨兵模式:高可用,主服务宕机,从服务变为主服务。
1.监控所有Redis服务器,重点监控主服务器,1秒ping一次主。
2.主服务器宕机,10秒后未恢复,客观下线,选举新的主服务器,根据条件(数据完整性、服务器性能)
3.通知其他从服务器,主从变更,让其他从服务器连接新的主服务。
多哨兵模式:
1.哨兵监控主从的同时,也监控其他哨兵。
2.当主宕机,哨兵中选出一个哨兵,这个哨兵再从其他从服务器中选出新的主。
三.redis集群模式(分片):将数据拆分存储到多个redis主从集群中;从而实现高扩展;
1.cluster集群优点
多个redis节点网络互联,数据共享
所有的节点都是一主一从(也可以是一主多从),其中从不提供服务,仅作为备用
支持在线增加、删除节点
客户端可以连接任何一个主节点进行读写
2. cluster集群缺点
不支持同时处理多个key(如MSET/MGET),因为redis应该把key均匀分布在各个节点上,
并发量很高的情况下同时创建key-value会降低性能并导致不可预测的行为
3.工作机制:
cluster可以说是sentinal和主从模式的结合体,通过cluster行实现主从和master重选功能,所以要是配置两个副本三个分片的话,就需六个Redis实例。因为Redis的数据是根据一定规则分配到cluster的不同机器的,当资料量过大时,可能新增机器进行扩容。
使用集群,只要将redis配置文件中的cluster-enable配置打开即可。每个集群中至少需要3个主数据库才能正常运行,新增节点十分方便。

浙公网安备 33010602011771号