写点什么

天猫双十一架构优化及应急预案

  • 2013-01-11
  • 本文字数:1331 字

    阅读完需:约 4 分钟

每年的双十一,在整体架构上最依仗的是过去几年持续建设的稳定的服务化技术体系和去 IOE 带来整体的扩展性和成本的控制能力。

今年在架构上做的比较大的优化有三点:

第一是导购系统的静态化改造。今年淘宝和天猫都分别根据自身的业务特性进行了 Detail 页面的静态化改造,但核心的思路都是通过 CDN+nginx+JBoss+ 缓存的架构,将页面信息进行静态化缓存。这次的优化突破了现有系统在 Web 服务器和 Java 处理信息的 CPU 瓶颈,将访问最密集的 Detail 集群的性能提升了 10 多倍,极大程度的缓解了突发流量场景下的性能和成本压力。在今年的阿里技术嘉年华上,淘宝 Detail 团队的君山分享了淘宝静态化改造的一些经验。后续我们也可以安排天猫 Detail 团队的同学分享下在不同的业务背景下技术选型的思考。

第二是天猫优惠系统的架构改造,整体上的思路是规则中心化计算本地化。简单来说,将优惠规则的计算推送到所有需要展现价格的上层业务系统进行,而不再集中在后端进行处理。通过这样的方式减少了分布式的调用和计算单点的瓶颈问题。

第三是支付核心路径的异步化。支付环节的系统瓶颈一直在于后端的银行系统吞吐率无法跟上支付宝的处理能力,大量的线程阻塞等待银行系统的返回。今年支付宝的同学们通过一个高可用的队列,异步处理对关键支付路径的调用,这样做的好处一方面让支付系统的处理资源得到了释放,最大化系统处理能力,另一方面也支撑了更加灵活的限流控制。

有了以上的基础,接下来就是对突发情况的应急预案准备了,我们的做法通常有两种:

一是业务降级,即舍弃一些非核心的业务,确保核心业务的系统资源和稳定运行。举个例子,天猫的美妆类目交易流程有个特性,购买部分商家的商品会附赠小样。这部分逻辑是会给核心交易系统增加额外的系统依赖的,如果大促出现紧急情况,我们就会考虑砍掉这部分特殊的逻辑,确保核心交易的稳定。

二是系统限流,关键服务进行限流控制,保护核心集群的系统稳定。

这两点看似简单,却对系统和代码段之间的耦合性要求极高,我们前期也做了大量的工作尽可能将系统之间的强依赖变为弱依赖,避免因为某一系统的性能下降导致反向的雪崩效应。

另一方面,对于限流的阈值评估同样是一个难点,我们首先要从根据历年来的业务变化数据和运营计划估算一个可能达到的交易额以及 UV 数量。然后计算我们可能达到的交易笔数和访问峰值。

其次,分析出每笔交易需要跟多少个系统进行交互,计算出每笔交易会对后端的商品中心, 用户中心,库存中心,优惠,物流等要调用多少次,得出一个支撑一次访问或是一笔交易的合理系统消耗公式。再次,通过线上压测的手段对线上各个集群的极限能力有个准确的认知。

最后再根据业务峰值、系统消耗公式、压测数据,去准备扩容的机器数量和限流的具体阀值。

今年是双十一准备的最为充分的一年,前期的功能测试、容量评估、应急预案都比以往做的更加仔细,一共 700 多个应急预案,从 9 月开始就不断的进行系统演练,确保每个应急预案的准确和便捷执行。所以整的来说,当天各个系统表现还是比较淡定的。

突发事件虽然也有发生,还是做到了冷静处理,所有情况都在掌控之中。 当然,无论是限流还是降级,都是以牺牲用户体验作为代价的,我们内部也在反思和讨论,以后可以把流控做的更加有趣些,让大家买的开心,等的不无聊。

2013-01-11 03:318249
用户头像

发布了 156 篇内容, 共 58.7 次阅读, 收获喜欢 7 次。

关注

评论

发布
暂无评论
发现更多内容

Databend 产品月报(2025年6月)

Databend

Confidential AI 实践:基于 Anolis OS 部署 Intel TDX 保护的 Qwen 模型

OpenAnolis小助手

AI 操作系统 龙蜥社区 Anolis OS Confidential AI

持续演进!Sermant 2.3.0 Release版本正式发布

华为云开源

开源 微服务架构 开源社区 字节码增强 流量治理

B 站推进视频播客战略,「代号 H」AI创作工具同步研发;工业级开源记忆操作系统 MemOS,支持模型持续进化和自我更新丨日报

RTE开发者社区

冲刺IPO!摩尔线程以硬核技术叩响科创板大门

新消费日报

FCPX插件-82个音频元素信息图表图形动画 Infographic Elements Audio Motion

晨光熹微

KWDB多模分布式数据库助力共享打印机物联网IoT最佳实践落地,实现高效存储与查询时序数据

KaiwuDB

龙蜥社区第 34 次运营委员会会议圆满结束

OpenAnolis小助手

操作系统 龙蜥生态

KaiwuDB 时序数据库深度解析:在物联网领域实战指南

KaiwuDB

上海证券携手非凸科技,共筑开放共赢的私募服务新生态

非凸科技

Sentieon 项目文章 | 通过深度测序对血浆中游离线粒体 DNA 进行定量和表征

INSVAST

生信分析 Sentieon 变异检测 生物信息分析服务 精准医疗

人工智能丨让你的AI更聪明,这7个开源MCP项目不要错过

测试人

技术分享 | EC2多网卡与多IP配置

伊克罗德信息科技

MySQL行锁功过:怎么减少行锁对性能的影响?

量贩潮汐·WholesaleTide

MySQL 数据库

开源 vs 付费:代练系统护航小程序源码的选择指南与性价比对比

DUOKE七七

MySQL uniapp vue2 thinkphp6

FCPX插件-165个社交媒体字幕条标题图形排版介绍宣传包装动画

晨光熹微

三级缓存解决了循环依赖问题?别被骗了,一级缓存就够了!

电子尖叫食人鱼

Java spring 缓存

你的救星来了!电脑硬盘坏了数据恢复教程,帮你找回重要资料

阿拉灯神丁

EasyRecovery 数据恢复软件 硬盘数据恢复 硬盘故障 数据丢失

低代码:JNPF+AI,解锁“智”造未来

引迈信息

Anolis OS 23 架构支持家族新成员:Anolis OS 23.3 版本及 RISC-V 预览版发布

OpenAnolis小助手

操作系统 risc-v 龙蜥社区 龙蜥操作系统 Anolis OS

以数据赋能高校:全域数据集成平台的应用场景

谷云科技RestCloud

数据处理 ETL 数据集成

Markdown怎么快速生成PPT?详细的AI制作教程来了!

职场工具箱

AI markdown 办公软件 AIGC AI生成PPT

Linux 基金会报告解读:开源 AI 重塑经济格局,有人失业,有人涨薪!

白鲸开源

人工智能 开源 AI 观点 开源AI

架构师必备:业务扩展模式选型

量贩潮汐·WholesaleTide

架构 业务

Cloud Kernel SIG季度动态:ANCK 5.10/6.6新版本发布,主线适配Sw8A&RSIC-V新平台

OpenAnolis小助手

操作系统 龙蜥sig

FCPX模板-褶皱纸张元素定格动画图文快闪开场片头Stop Mption Opener

晨光熹微

龙蜥大讲堂智算技术专场直播预告:围绕基于Anolis OS DCU部署、异构计算等主题分享

OpenAnolis小助手

操作系统 龙蜥社区 龙蜥大讲堂

最新 HarmonyOS API 20 知识库 重磅推出

万少

HarmonyOS

搭建持久化的 INFINI Console 与 Easysearch 容器环境

极限实验室

数据库 Docker

苹果电脑系统数据怎么清理? Mac的系统数据占用太多怎么清除?

阿拉灯神丁

MacBook 存储空间 Mac系统清理 CleanMyMac X中文 磁盘清理软件

低代码×数智化OA:企业级敏捷办公的技术融合路径与实践验证

不在线第一只蜗牛

天猫双十一架构优化及应急预案_阿里巴巴_贾国清_InfoQ精选文章