redis我用的是简单的主从架构的这种集群模式
Redis主要有三种模式,主从,哨兵,分布式集群
1.主从复制模式
架构:一主多从结构,主节点负责写操作,从节点通过异步复制同步主节点数据,支持读写分离
优点:
数据冗余:从节点备份主节点数据,提高数据可靠性。
读写分离:从节点分担读请求,减轻主节点压力。
配置简单:仅需在从节点配置replicaof指向主节点即可。
缺点:
手动故障恢复:主节点宕机需人工干预切换从节点,服务中断时间长。
无数据分片:所有节点存储全量数据,受单机内存限制。
适用场景:数据备份、读写分离、轻量级容灾场景
2.哨兵模式(Sentinel)
架构:在主从复制基础上引入哨兵节点(Sentinel),监控主从节点状态并实现自动故障转移
优点:
自动故障转移:哨兵通过投票机制判断主节点下线,选举新主节点,无需人工干预。
高可用性:支持多哨兵部署(推荐至少3个),避免单点故障。
缺点:
数据未分片:仍存在单机内存瓶颈。
扩容复杂:无法在线动态扩缩容。
适用场景:对高可用性要求较高的场景,如电商、社交等需持续服务的业务
3.cluster模式
架构:去中心化多主多从结构,数据分片存储,每个主节点管理部分哈希槽(共16384个),通过CRC16算法计算键的槽位归属
优点:
数据分片:突破单机内存限制,支持海量数据存储。
自动扩缩容:可动态增减节点,槽位迁移对客户端透明。
高可用与负载均衡:每个分片具备主从复制,支持故障转移和读写分离。
缺点:
配置复杂:需手动或工具管理槽位分配及节点通信。
事务限制:跨节点事务需使用hash tag强制键分配到同一槽位。
适用场景:高并发、大数据量场景(如亿级用户系统),需横向扩展和自动容灾的业务