上一篇
场景引入:
凌晨3点,你的电商系统突然被秒杀活动冲垮——Redis单节点内存爆满,响应延迟飙升到5秒!🆘 老板在群里怒吼:“不是说了用集群吗?!” 你捧着咖啡苦笑:“服务器预算只批了3台啊…” 别慌!今天教你用单数台机器搭建高性能Redis集群,低成本化解高并发危机!
Redis官方推荐至少6节点(3主3从),但现实往往骨感:
好消息:通过合理配置,3台机器也能实现:
✅ 数据分片存储
✅ 自动故障转移
✅ 接近线性的性能扩展
6379
(业务)、16379
(集群总线) # 所有节点执行👇 wget https://download.redis.io/releases/redis-7.2.5.tar.gz tar -zxvf redis-7.2.5.tar.gz cd redis-7.2.5 && make
# 节点1配置示例(其他节点替换IP和端口) bind 192.168.1.101 port 6379 cluster-enabled yes cluster-config-file nodes-6379.conf cluster-node-timeout 5000 appendonly yes # 内存优化(根据业务调整) maxmemory 3GB maxmemory-policy allkeys-lru
# 所有节点启动服务 ./src/redis-server redis.conf # 任意节点执行集群初始化(--cluster-replicas 1表示主从比例) ./src/redis-cli --cluster create \ 192.168.1.101:6379 \ 192.168.1.102:6379 \ 192.168.1.103:6379 \ --cluster-replicas 0 # 注意:3节点无副本模式!
⚠️ 重要提示:
3节点集群默认无数据冗余(非生产推荐),若需要高可用,至少需要:
graph LR 物理机1-->|实例A|6379(主) 物理机1-->|实例B|6380(从) 物理机2-->|实例A|6379(从) 物理机2-->|实例B|6380(主)
配置要点:
# 实例B配置示例 port 6380 pidfile /var/run/redis_6380.pid cluster-config-file nodes-6380.conf maxmemory 2GB # 总内存的50%-70%
taskset -c 0 ./src/redis-server redis-6379.conf taskset -c 1 ./src/redis-server redis-6380.conf
# 内核参数调整(所有节点) echo net.ipv4.tcp_max_syn_backlog = 4096 >> /etc/sysctl.conf sysctl -p
场景 | QPS | 平均延迟 | 容灾能力 |
---|---|---|---|
单节点Redis | 12万 | 2ms | |
3节点集群 | 28万 | 7ms | ✅(主从切换) |
Q:3节点集群数据会丢失吗?
A:当2台同时宕机时会丢失数据!生产环境建议至少4节点(3主1从)。
Q:能否后期扩容?
A:可以!通过redis-cli --cluster add-node
动态添加节点,但需重新分片数据。
Q:监控怎么做?
推荐命令:
# 查看集群状态 ./src/redis-cli --cluster check 192.168.1.101:6379 # 内存分析 ./src/redis-cli --bigkeys
3台机构建Redis集群是性价比之选,适合:
记住:生产环境务必配置至少1个从节点!需要完整6节点方案的话,评论区喊我更新~ 👇
(注:本文配置基于Redis 7.2.5,2025年8月验证通过)
本文由 路颖慧 于2025-08-05发表在【云服务器提供商】,文中图片由(路颖慧)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/542347.html
发表评论