Redis 应用实践:小红书海量 Redis 存储之道

  • 腾讯云

2016 年 6 月 16 日

话题:语言 & 开发腾讯云

简介文字:

小红书业务增长非常迅猛,保证数据存取效率的前提下,海量的 SNS 数据无法用传统型关系数据库去解决,同时爆发式的业务场景使小红书的研发团队更佳青睐于用非关系型数据库做主业务数据存储。为了应对快速增长的业务数据需求,小红书海量规模的使用了腾讯云 redis(CRS),存储容量接近 6T,在行业内算是超大海量规模的使用 redis 的互联网公司。

作者简介

陈环,腾讯云 NoSQL 产品经理,负责腾讯云 redis,Mongodb,Hbase 等产品策划和系统建设,研发推动腾讯云 Redis 产品的建设以及 MongoDB 的发布,长期关注 NoSQL 数据库在各个行业里的运用与发展。

小红书大规模使用腾讯云 redis(CRS),存储容量接近 6T,在行业内算是海量规模的使用 redis 的互联网公司,在这里分享 redis 的存储之道。

先说说案例情况:小红书是一家从社区起家的电商公司,2013 年 6 月成立于上海,希望帮下一代消费者找到全世界的好东西。业务主要包括两个板块,UGC(用户原创内容) 模式的海外购物分享社区,以及跨境电商“福利社”。小红书已经成立 3 年之久,目标群体包括 18 至 35 岁的中国女性。平台宣传注册用户达到 1700 万,曾先后获纪源资本和真格基金的投资。有数据显示,截止到 2015 年 9 月,小红书营收达 7 亿元。

 

上云前的技术挑战:如何应对运维单实例上百 G 的挑战?

业务数据快速增长,单个实例的数据量达到上百 G,很快达到单机的物理瓶颈。 为了解决这一棘手问题,目前成熟的 twemproxy 对平滑扩容、故障恢复和集群管理方面多做得不够,运维和服务能力需要很多定制开发,社区的 cluster 版本对现有业务的兼容性和性能方面都不够理想。

活动大促,如何扛住高并发的访问量?

小红书大促活动首日 24 小时的销售额,已超过当月整月的总销量。两周注册用户增加 300 万。剧增的新增用户产生近 200G 的首页 recommend 数据需要快速读取,抢购活动时间点上,redis 的网络流量高于 20Gbps,远远高于单机网络瓶颈。受到单进程的约束,服务扩展能力受到很大的限制,在海量用户高并发场景下,怎么能扛住是一个难以绕开的问题。

腾讯云 CRS 的应对方法

多轮沟通后决定借助腾讯云 CRS 即基于 QQ 后台分布式存储系统、兼容 redis 协议的云服务, 数据以一致性 hash 的方式分布到多台机器上,单个集群支持上 T 的容量,可以扩容对业务无感知,目前小红书的单个实例数据量已经超过 300G。在高并发访问的时刻,借助腾讯云 CRS 的分布式能力,多台机器分担流量请求,请求都在 1ms 内返回,轻松应对毫无压力。2 名 DBA 就能稳健运维现网环境上百台机器,上千的数据库实例以及复杂的业务数据。

云上的业务技术突破,6T 存储!

小红书业务增长非常迅猛,保证数据存取效率的前提下,海量的 SNS 数据无法用传统型关系数据库去解决,同时爆发式的业务场景使小红书的研发团队更佳青睐于用非关系型数据库做主业务数据存储。为了应对快速增长的业务数据需求,小红书海量规模的使用了腾讯云 redis(CRS),存储容量接近 6T,在行业内算是超大海量规模的使用 redis 的互联网公司。

小红书云上业务基础架构

目前小红书主要的业务数据分布在 note 集群,explore 集群,recommend 集群这三大 redis 存储集群。

  • note 集群 1T 主要存放用户缩发的内容数据,包括内容,时间,状态等基本元素信息。  
  • explore 集群 1T 主要存放内容发现数据,对读写性能要求非常高。
  • recommend 集群 2T 主要存放首页 feed 个性化推荐内容数据,记录每个用户的推荐结果 list 数据,数据量非常之大。

单机版实例和集群版实例混合部署,业务逻辑层路由到不同实例上,同时单机版实例存储量增长到一定容量的时候可以平滑的扩容大集群版。扩容过程中业务无中断。集群版可无上限了扩容,随时应对海量存储。

腾讯云存储 redis 的介绍

相比于自己搭建 redis 服务,云存储 redis 提供了一键生产,在线扩容,自动备份和监控告警等功能,旨在帮用户提供更为弹性的云存储服务和更为便捷的运维管理。

  • 支持分布式服-无缝升级,平滑扩容,不中断服务;支持事务操作
  • 稳定可靠-支持备份多拷贝,数据高可靠;主从热备,自动容灾,服务高可用;
  • 数据落地存储-支持数据持久化;支持数据操作流水日志;数据自动备份,多种恢复方式
  • 便捷管理-全 web 管理, 提升运维效率;立体化监控,提前规避运营风险
  • 数据持久化-数据可持久化,且落地存储过程中不影响对外服务
  • 数据管理-备份回档一键式操作,支持自动备份
  • 自定义监控告警-通过浏览器即可查看 CRS 丰富的性能监控数据,支持针对不同的监控项自定义阈值告警。

2016 年 7 月 5 日,诚邀您参与腾讯·“云 + 未来”生态峰会,与腾讯董事会主席马化腾先生及各界顶级企业家,国际专家一同,共探产业与互联网融合发展之道,推动互联网 + 生态圈发展。欢迎点击了解http://www.qcloud.com/event/tcc2016?utm_source=infoqlink&utm_medium=wzl&utm_campaign=infoQ

语言 & 开发腾讯云