大街网Redis集群实践与挑战:从单节点到RedisCluster
版权申诉
75 浏览量
更新于2024-07-08
收藏 6.89MB PDF 举报
DTCC2016会议中,代晓磊分享了大街网在使用Redis缓存技术上的实践历程。起初,大街网采用单节点的Redis实现,通过LVS负载均衡器、Keepalive心跳检测以及主从复制架构,允许程序通过域名VIP和端口访问Redis。这种方式存在单点故障风险,只有当主服务器全盘失效才会触发备份。
进一步,大街网尝试了自建hash集群,利用多个Redis节点通过一致性哈希算法分散数据。这种架构避免了单节点性能瓶颈,但中间层负责hash路由规则导致程序复杂度增加,并未完全解决高可用问题,因为任何一个节点的故障都会影响整体服务。
随着业务需求的增长,大街网引入了RedisCluster。RedisCluster的优势在于其高可用性、高性能、扩展性好,支持在线分片,并提供了丰富的集群管理命令。然而,它也存在局限,如不支持多keys操作,仅使用0号数据库,且在大规模线上应用中可能存在未知的问题。
在大街网的实际应用中,RedisCluster集群每天处理超过20亿次命令,涉及300多个实例,分布在几十台服务器上,占用的内存达到了1TB。集群设计采用了基于配置中心的方式,确保即使部分服务器故障,也能通过至少一个可用链接保持服务连续性。此外,为了减少业务间的干扰,大街网按照业务逻辑划分了不同的RedisCluster集群。
然而,在实践中,大街网遇到了一些挑战,比如如何设置最大内存限制、内存过期策略,以及优化keys过期时间以降低内存碎片率。这些细节管理和优化对于保证Redis集群的稳定性和性能至关重要。
总结来说,代晓磊的分享详细阐述了大街网在Redis缓存技术从单节点到hash集群,再到RedisCluster的演进过程,以及在此过程中遇到的关键问题和解决方案,为其他企业在类似场景下的决策和实践提供了有价值的参考。
2017-12-14 上传
2019-05-22 上传
2019-05-21 上传
2023-08-07 上传
2023-05-23 上传
2014-01-06 上传
2019-05-21 上传
qishuying1022
- 粉丝: 0
- 资源: 6万+
最新资源
- Raspberry Pi OpenCL驱动程序安装与QEMU仿真指南
- Apache RocketMQ Go客户端:全面支持与消息处理功能
- WStage平台:无线传感器网络阶段数据交互技术
- 基于Java SpringBoot和微信小程序的ssm智能仓储系统开发
- CorrectMe项目:自动更正与建议API的开发与应用
- IdeaBiz请求处理程序JAVA:自动化API调用与令牌管理
- 墨西哥面包店研讨会:介绍关键业绩指标(KPI)与评估标准
- 2014年Android音乐播放器源码学习分享
- CleverRecyclerView扩展库:滑动效果与特性增强
- 利用Python和SURF特征识别斑点猫图像
- Wurpr开源PHP MySQL包装器:安全易用且高效
- Scratch少儿编程:Kanon妹系闹钟音效素材包
- 食品分享社交应用的开发教程与功能介绍
- Cookies by lfj.io: 浏览数据智能管理与同步工具
- 掌握SSH框架与SpringMVC Hibernate集成教程
- C语言实现FFT算法及互相关性能优化指南