深度解析双十一背后的阿里云 Redis 服务

2018 年 11 月 26 日 云栖社区

云栖君导读:Redis是一个使用范围很广的NOSQL数据库,阿里云Redis同时在公有云和阿里集团内部进行服务,本文介绍了阿里云Redis双11的一些业务场景:微淘社区之亿级关系链存储、天猫直播之评论商品游标分页和菜鸟单据履行中心之订单排序。


在一片欢呼之中,2018年的双十一完美收官,各项数据不出意外的刷出了新的记录,亮眼的数据背后是阿里过硬的技术支撑。其中阿里云Redis不仅保障了阿里集团内部业务双十一的流量洪峰平稳度过,也让使用阿里云Redis的各个客户度过了一个安稳省心的双十一。


目前阿里云Redis涵盖了丰富的产品形态:主从、集群、读写分离、同城容灾、异地多活,可以选择单副本,双副本,还有混合存储类型。


  • 主从规格的Redis具有100%的兼容性;

  • 读写分离增加只读节点承担读流量,成本最优;

  • 集群规格大容量、高性能,突破单机性能极限,兼容redis cluster, sentinel等多种架构,上云无忧;

  • 同城容灾双机房部署,整机房故障切换到正常机房;

  • 异地多活让业务全球部署,就近写入,自动全球实时同步。


此外,阿里云Redis还拥有热备份、账号、安全等功能,满足业务的各项安全上的需求。本文将简单介绍下2018年双十一的部分业务场景。


直播


直播在双十一期间也迎来流量高峰,观看直播的用户每发一条评论背后就会使用阿里云的Redis的服务。直播平台会对每条评论写入两条数据:索引和用户评论,索引使用Redis的SortedSet数据结构对评论进行排序,而评论内容本身使用Hash存储。获取评论的时候,先读索引,再访问对应Hash拿到评论列表。评论的写入过程如下:



现在的直播必不可少的就是弹幕,和评论一样,异常直播弹幕的写入QPS可能非常高,并且用户遍布全国各地甚至是分布在全球的华人,一条在美国发出的弹幕跨洋写进部署在国内,时延是不可接受的,物理距离的限制就算是低延迟的Redis也无能为力,各个地域单独部署一套存储又会造成不同地域的用户弹幕无法相互看到。阿里云Redis多活产品是为这种场景而生,每个地域部署一套Redis,用户就近写入,后端自动实时同步,跨洋的小伙伴感觉不再遥远。



菜鸟订单履行


双11用户在产生一个交易订单之后会随之产生一个物流订单。经过菜鸟仓配系统处理的订单,为了让仓配各个阶段能够更加智能的协同作业,决策系统会根据订单信息指定出对应的订单履行计划,包括什么时候下发仓、什么时候出库、什么时候配送揽收、什么 时候送达等信息,单据履行中心根据履行计划,对每个阶段按照对应的时间去履行物流服务。由于仓、配的运力有限,对于有限的运力下,期望最早作业的单据是业务认为优先级最高的单据,所以订单在真正下发给仓或者配之前,需要按照优先级进行排序。

订单履行中心通过使用Redis来对所有的物流订单进行排序决定哪个订单是最高优先级的。



微淘社区用户关系链


微淘社区承载了亿级淘宝用户的社交关系链,对于每个用户都有自己的关注列表,每个商家有自己的粉丝信息,整个微淘社区承载的关系链如下图所示。



Redis丰富的数据类型让这种关系链的存储变得简单,高性能保证了双十一期间业务仍如丝般顺滑。比如微淘社区使用了Hash存储用户之间的关注信息,包括:1)用户A是否关注过用户B;2)用户A/B的关系列表。


双十一大屏


双十一期间不光有出镜率最高的媒体中心数据大屏,还有很多技术和业务模块的监控数据大屏。这类大屏不仅要求数据实时性高,对可靠性要求也非常高,一旦出现异常,通过大屏可以快速展示出来。


数据缓存


大屏汇聚了所有业务或者技术模块的监控信息,具有来源广、数据量大、实时性高的特点,Redis的高性能低延迟满足需求。大量数据通过pipeline批量更新,存入数据库时使用update case when语句进行一次批量更新,效率非常高,大大缓解了数据库的压力。


竞争锁


大屏的高可用要求非常高,任何故障下大屏必须可以正常展示。整个大屏背后需要双机房甚至更多机房的部署,多个任务同时进行,基于Redis实现的竞争锁来保证一个任务实际执行。


机房搬迁


双十一之前阿里集团上海机房业务整体搬迁到张北机房,涉及数百Redis实例,同时迁移还需要满足几个要求:


  • 同时要求Redis服务的搬迁对业务透明,不影响业务的正常服务;

  • 必须保证数据的一致性,不丢不重;

  • 数据同步必须具备断点续传功能;

  • 具备回滚方案,一旦业务切换出现问题,可以随时切换回来。


阿里云Redis多活不仅完全满足了业务所提出的需求,还已经产品化和自动化,整个迁移过程用户只需要在控制台上点下鼠标即可完成,实例状态,后端的数据同步状态实时显示在控制台上。


结束


Redis是一个优秀的开源数据库,提供了开发者更便利的数据模型,阿里云Redis致力于提供稳定、高性能的Redis服务,欢迎广大开发者使用阿里云Redis服务。


end

Java开发者福音,阿里巴巴宣布连任Java全球管理组织席位!

阿里云总监课第四期:阿里褚霸携专家团独家分享弹性计算最佳实践

模块化与解耦式开发在蚂蚁金服 mPaaS 深度实践探讨

聊聊Flexbox布局中的flex的演算法

更多精彩

登录查看更多
0

相关内容

Redis 是一个使用 C 语言写成的,开源的 key-value 数据库。
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
162+阅读 · 2020年5月14日
【SIGMOD2020-腾讯】Web规模本体可扩展构建
专知会员服务
30+阅读 · 2020年4月12日
德勤:2020技术趋势报告,120页pdf
专知会员服务
191+阅读 · 2020年3月31日
【2020新书】Kafka实战:Kafka in Action,209页pdf
专知会员服务
68+阅读 · 2020年3月9日
TensorFlow Lite指南实战《TensorFlow Lite A primer》,附48页PPT
专知会员服务
70+阅读 · 2020年1月17日
阿里巴巴达摩院发布「2020十大科技趋势」
专知会员服务
107+阅读 · 2020年1月2日
【大数据白皮书 2019】中国信息通信研究院
专知会员服务
138+阅读 · 2019年12月12日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
96+阅读 · 2019年12月4日
使用 Canal 实现数据异构
性能与架构
20+阅读 · 2019年3月4日
重新体验NoSQL | 飞雪连天射白鹿 大数狂舞倚灵动(Lindorm)
阿里巴巴数据库技术
11+阅读 · 2018年12月25日
蚂蚁金服微服务实践(附演讲PPT)
开源中国
18+阅读 · 2018年12月21日
干货 | 双11总峰值超8亿OPS 阿里分布式NoSQL如何岿然不动稳如山?
阿里巴巴数据库技术
10+阅读 · 2018年12月12日
消息队列技术点梳理(思维导图版)
架构文摘
3+阅读 · 2018年4月3日
【智能商务】海量商品查找利器—苏宁搜索系统
产业智能官
5+阅读 · 2017年12月1日
【AI说】揭秘京东实时数据仓库背后的神秘力量—JDQ
Heterogeneous Graph Transformer
Arxiv
27+阅读 · 2020年3月3日
Arxiv
14+阅读 · 2020年1月27日
Arxiv
8+阅读 · 2018年5月17日
Arxiv
11+阅读 · 2018年4月25日
Arxiv
8+阅读 · 2018年2月23日
Arxiv
5+阅读 · 2016年12月29日
VIP会员
相关VIP内容
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
162+阅读 · 2020年5月14日
【SIGMOD2020-腾讯】Web规模本体可扩展构建
专知会员服务
30+阅读 · 2020年4月12日
德勤:2020技术趋势报告,120页pdf
专知会员服务
191+阅读 · 2020年3月31日
【2020新书】Kafka实战:Kafka in Action,209页pdf
专知会员服务
68+阅读 · 2020年3月9日
TensorFlow Lite指南实战《TensorFlow Lite A primer》,附48页PPT
专知会员服务
70+阅读 · 2020年1月17日
阿里巴巴达摩院发布「2020十大科技趋势」
专知会员服务
107+阅读 · 2020年1月2日
【大数据白皮书 2019】中国信息通信研究院
专知会员服务
138+阅读 · 2019年12月12日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
96+阅读 · 2019年12月4日
相关资讯
使用 Canal 实现数据异构
性能与架构
20+阅读 · 2019年3月4日
重新体验NoSQL | 飞雪连天射白鹿 大数狂舞倚灵动(Lindorm)
阿里巴巴数据库技术
11+阅读 · 2018年12月25日
蚂蚁金服微服务实践(附演讲PPT)
开源中国
18+阅读 · 2018年12月21日
干货 | 双11总峰值超8亿OPS 阿里分布式NoSQL如何岿然不动稳如山?
阿里巴巴数据库技术
10+阅读 · 2018年12月12日
消息队列技术点梳理(思维导图版)
架构文摘
3+阅读 · 2018年4月3日
【智能商务】海量商品查找利器—苏宁搜索系统
产业智能官
5+阅读 · 2017年12月1日
【AI说】揭秘京东实时数据仓库背后的神秘力量—JDQ
相关论文
Heterogeneous Graph Transformer
Arxiv
27+阅读 · 2020年3月3日
Arxiv
14+阅读 · 2020年1月27日
Arxiv
8+阅读 · 2018年5月17日
Arxiv
11+阅读 · 2018年4月25日
Arxiv
8+阅读 · 2018年2月23日
Arxiv
5+阅读 · 2016年12月29日
Top
微信扫码咨询专知VIP会员