2020-09-06 07:13:32
Redis集群的三种方式分别是主从复制、哨兵模式和Cluster集群,具体原理与配置如下:
主从复制
主从复制通过数据同步实现读写分离。从服务器启动时向主服务器发送SYNC命令,主服务器执行BGSAVE生成RDB文件并发送给从服务器,同时将后续命令写入缓冲区。从服务器加载RDB文件后,主服务器通过缓冲区同步增量命令。主服务器可拥有多个从服务器,且从服务器可级联形成图状结构。此模式需开启主服务器持久化功能,否则主服务器重启会导致从服务器数据丢失。配置时仅需执行SLAVEOF host port命令或修改配置文件。
哨兵模式
哨兵模式通过分布式系统实现高可用,核心功能包括:
Cluster集群
Cluster集群实现水平扩容,数据通过16384个槽位(CRC16算法分配)均匀分布在多个主节点上,每个主节点可配置从节点提高可用性。无中心化设计,节点间自动转发请求。配置需开启集群模式(cluster-enabled yes),指定节点配置文件(cluster-config-file)和失联超时时间(cluster-node-timeout)。启动时使用redis-cli --cluster create命令合并节点(如redis-cli --cluster create --cluster-replicas 1 127.0.0.1:7000...),进入集群模式需执行redis-cli -c -p port。
三种模式中,主从复制侧重读写分离,哨兵模式强化高可用,Cluster集群则解决大规模数据存储与扩展问题,用户可根据需求选择或组合使用。