携程弹性扩容Redis服务的方案(携程 redis扩容方案)
携程是中国最大的在线旅游交易平台,其后端存储服务大量采用Redis集群.日常业务发展迅猛,大量用户信息流量越来越大,系统性能负载更加沉重,因此携程采用Redis弹性扩容的方案,以满足较大的数据存取需求.
1. 项目背景
携程的用户量和日常业务量体系越来越庞大,系统的存储也更加依赖分布式缓存Redis集群,服务的存储需求大量增加,节点满负荷使用,数据读取越发缓慢,此时就需要采用 Redis 弹性扩容方案,以满足更大的数据存储和服务发布需求.
2. Redis 弹性扩容方案
弹性扩容 Redis 集群的目标是根据当前节点负荷自动判断是否需要新增或删减节点,在节点处于满负荷时可以增加节点数量保证新的连接,当节点负荷空闲时可以自动删减部分节点降低成本.
Redis可以分为两类,即master和salve,一般采用 1:n 的模式,Master负责服务负载和维护以及slave节点状态,Slave节点负责备份以及负责提供数据读取功能.
上面实现 Redis 弹性扩容方案的步骤为:
1)监控节点负载;
2)根据当前节点负载,判断是否需要新增或删减节点;
3)如果需要新增,调用携程弹性扩容服务自动创建节点;
4)如果需要删减,使用CLOUD-INIT脚本,自动删除部分节点;
5)更新节点信息后,重新加载Redis配置文件;
6)更新架构后,重置 redis-cluster 模式.
3. 总结
携程应用Redis弹性扩容的方案,能够有效满足应用日益增长的数据存储需求,自动分析当前节点负载情况,新增或删减节点,并重新加载Redis配置文件,最大程度的满足效率和成本的双重要求.
相关文章