提高 10 倍性能,揭秘淘宝、天猫背后的图片存储如何扛住双十一巨流?| 问底中国 IT 技术演进

简介: 2019天猫“双11”,零点钟声刚过去1分36秒,成交额已突破100亿元人民币,最终成交额为2684亿,又一次刷新了世界记录。 对象存储OSS作为淘宝、天猫、支付宝等核心阿里App背后的图片存储底座,又一次平稳的顶住了双11凌晨洪峰,并且提供了10倍的图片浏览性能优化,在本文中,来自阿里云资深技术专家罗庆超将为大家揭秘OSS背后的稳定性设计。

云栖号:https://www.aliyun.com/#module-yedOfott8
第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策!

2019天猫“双11”,零点钟声刚过去1分36秒,成交额已突破100亿元人民币,最终成交额为2684亿,又一次刷新了世界记录。

对象存储OSS作为淘宝、天猫、支付宝等核心阿里App背后的图片存储底座,又一次平稳的顶住了双11凌晨洪峰,并且提供了10倍的图片浏览性能优化,在本文中,来自阿里云资深技术专家罗庆超将为大家揭秘OSS背后的稳定性设计。

前言

阿里云对象存储OSS是阿里集团非结构化数据的统一存储系统,支撑了集团内的大量业务,存储了海量的图片、视频、音频、文档等文件。OSS的同城冗余存储特性为蚂蚁主站实现世界领先的容灾能力提供了RPO为零的技术支撑,完全自主研发的FPGA图片处理功能以5倍的单机性能、1/10的处理延迟,为双11提供了更稳定、更高效的服务能力。

OSS双11稳定性工作思路

OSS很早就参与了双11支撑,在业务洪峰的不断打磨下,持续淬炼产品的架构、特性、稳定性,通过多年的摸索,总结了如下支撑双11稳定性的思路,作为大促支撑的工作指南。

image

2.1 业务规划

今年双11的主题是一心一役,为了打好这场战役,团队详细梳理了业务情况。整体来看,集团上云到OSS的核心业务主要支撑淘宝天猫的图片、视频浏览,为了保证无损的切换、以及体验优化,制定了2阶段的迁移目标:

  • 第一阶段目标为OSS适配业务,保障平滑切换。
  • 第二阶段目标为享受公共云弹性收益、并优化图片处理性能。

通过对业务来龙去脉的掌握,团队针对最终目标分解出清晰的步骤和路标,从而支撑业务和技术的快速迭代、敏捷交付。

2.2 架构设计

梳理清需求和路标,就可以针对技术架构、业务架构进行详细设计,确保需求和架构设计一致,从而支撑客户需求的正确落地。

2.2.1 OSS 技术架构

今年杭州云栖大会,OSS基于貔貅3新硬件和盘古2.0底层演进到了新时代,基于如下的架构发布了 9 大新特性。

image

OSS通过大规模的生产实践,提供了5个业界领先的关键竞争力:

  • 可靠性,指在硬盘、服务器、网络等故障情况下,以及火灾、地震、洪水等灾害时,可以有效防止数据丢失,通过跨机机柜、机房、区域的数据冗余,实现了12个9的高可靠性。
  • 可用性,指在服务器故障时、光线挖断时,可自动切换实现业务连续性,通过容错设计,实现了99.995%的可用性。
  • 安全合规,指数据访问的认证、授权、加密、以及行业法规遵从,支持多项合规认证,比如KMS加密、WORM认证等。
  • 弹性扩容,能够自适应业务数据快速增长,避免出现存储空间被打爆,通过业界领先的资源供应链管理、软件分布式弹性设计,实现百EB级空间、百万亿级对象规模能力。
  • 自动生命管理管理,支持冷热数据的管理,优化TCO,提供标准、低频、归档存储,并自动化迁移,优化存储使用成本。

2.2.2 业务异地多活架构

为保障业务连续性,采用了异地多活架构,核心技术为一写多读。开通了OSS主区域到两个备区域的跨区域复制功能,如下图所示。

  • 写入时只写主区域,开发便捷。利用OSS跨区域复制能力,将数据复制到备区域,从而备区域有全量的数据。
  • 读取时可根据地域就近读取,降低延迟。由于写入时只写数据到主区域,数据是异步复制到备区域,所以用户读备区域数据时,可能数据还未复制完成,此时通过OSS镜像回源功能从主区域读取数据。

image

从而,可在不同的区域级故障场景时,实现快速切换,提供容灾秒级RPO(Recovery Point Objective),保证业务应用连续性。

  • 备区域不可用,上层业务快速切换到另外2个区域,并将流量均分,业务能立即恢复,切换也非常方便。
  • 主区域不可用,则选择新的主区域(如选择区域2),并开通区域2到区域3的跨域复制,从而业务可以将写请求切换到新的主区域,读请求也切换到剩下的区域;同时,基于OSS的版本控制和业务无更新写,实现了主区域故障切换的数据一致性。

2.3 特性功能

2.3.1 数据高可靠容灾特性

围绕着数据高可靠需求,团队在今年双11重点开发&部署了如下关键特性:

  • 同城冗余存储(3AZ, Access Zone),实现RPO为0的容灾能力。要实现3AZ冗余,需要OSS的关键组件女娲(分布式一致性)、盘古(分布式文件系统)、有巢(分布式KV索引)等都需要实现跨数据中心冗余,基于遵守PAXOS的一致性协议、精妙设计的AZ间带宽和时延、以及数据分片的策略,保证了AZ故障后的快速切换,零数据丢失。经过蚂蚁主站(支付宝账单、刷脸类业务)、网商银行、淘宝短视频、天猫大屏等的业务打磨,检验了3AZ的能力,得到了广泛认可。
  • 跨区域复制,它实现跨不同OSS区域的存储空间(Bucket)异步对象复制,将对象的创建、更新和删除等操作从源存储空间复制到不同区域的目标存储空间,提供RPO为秒级~分钟级的容灾能力。在集团图片云异地多活架构中,它发挥了关键作用。

image

2.3.2 高性能特性

为了满足业务的高性能要求,开发了如下的性能优化特性,如下图所示。

  • 图片处理加速引擎,缩放性能十倍提升。双11凌晨流量洪峰时,有大量的图片处理请求,其中图片缩放请求占据了相当大的比例。OSS基于FPGA异构计算卸载,结合自研的 Resize 算法,集中在缓存优化、内存访问优化、FPGA资源优化挖掘技术深度,实现时延是CPU处理时延的1/10。
  • 区域级桶分布策略,支持淘宝、天猫图片云业务高 QPS 能力。通过该分布策略,可以将桶中的对象数据分布到区域范围内的所有机器上,不仅可以实现数据存放的均衡性,还可以极大提升单个 Bucket 的 QPS 能力。根据今年双11淘宝图片云需求,OSS能够为该业务的桶提供近百万 QPS 能力。
  • OSS传输加速。随着业务向新区域扩展,业务数据的存储位置发生了变化,导致时延也发生了变化。传输加速利用底层的全球网络,采用CNAME自定义加速区域,实现就近传输,最高可达到4倍加速效果。

image

2.4 开发运维效率

OSS作为阿里云基础设施服务,开发运维效率至关重要。基于OSS孵化的赤骥管控已经演化为阿里云存储的管控平台,服务于对象存储、文件存储、表格存储、日志存储、智能存储、女娲等。OSS-Brain是基于海量的线上运维数据,设计的智能运维组件,除了保障OSS的健康稳定运行外,还可以支撑架构设计。如下是详细介绍:

  • 赤骥自动化监控运维。针对“监控+预案”做好事前准备,在双11压测和准备期间积累了大量预案,形成了稳定性保障的强力后盾。采用“动态工作流”支撑事中灵活应对,面向快速“告警、定位、恢复”的目标设计动态表单引擎和批量执行引擎,性能上支持百万级任务调度和万级别的任务并发,快速响应应急处理。
  • OSS-Brain 数据智能运维平台。它的使命是用“数据+算法”来保障 OSS 的稳定运行,赋能线上运维及运营。结合机器学习中常用的分类算法(逻辑回归、随机森林、GBDT),聚类算法(DBSCAN、层次聚类)、回归算法(线性回归、GBRT等),以及深度学习算法(CNN、RNN、LSTM),实现智能运维。

2.5 稳定性看护

2.5.1 主动防护

针对双11特点,梳理了如下稳定性主动防护点:

  • 基于需求预测算法的库存管理。云服务基于需求的智能预测可以保障服务的稳定性,同时也要降低算法预测误差,保障投资回报比。
  • 多租户下的差异化流控。双11集团用户上云,要做好租户的流控隔离。OSS为此提供了桶级流控、租户级流控能力,以及针对业务请求的差异化流控。
  • 防SYN-FLOOD攻击。针对云服务的安全攻击很普遍,SYN-FLOOD 是常见的类型,OSS作为云基础设施服务,通过此功能支撑高并发访问、突发请求,保证租户不被影响。

2.5.2 拉网式风险排查,谨防漏网之鱼

在双11的方案讨论、日常巡检、按期压测等过程中,都会发现风险点,为此专门组织了拉网式排查,对每个隐患都要找出根因,不放过任何潜在问题。

2.6 流程和文化

为了让双11的经验得到传承,总结了相关管理流程和文化:

  • 需求管理、任务分解。
  • 值班手册、人人必遵。
  • 预案演练、结对配合。

成果和展望

在稳定性思路的指导下,团队认真仔细的开展任务,结合高效的执行力,顺利支撑了今年双11。希望未来继续坚持“稳定性工作思路”,并应用到每天每秒的日常运维中,让所有的用户都能享受到服务稳如磐石、体验丝般顺滑的对象存储OSS。

原文发布时间:2020-01-04
本文作者:罗庆超
本文来自阿里云云栖号合作伙伴“CSDN”,了解相关信息可以关注“CSDN”

云栖号:https://www.aliyun.com/#module-yedOfott8
第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策!

相关实践学习
对象存储OSS快速上手——如何使用ossbrowser
本实验是对象存储OSS入门级实验。通过本实验,用户可学会如何用对象OSS的插件,进行简单的数据存、查、删等操作。
相关文章
|
10月前
|
存储 缓存 前端开发
对象存储OSS入门到精通:数据存储最佳实践
本文系统讲解对象存储OSS从入门到精通的核心知识,涵盖Bucket、Object、存储类型、生命周期管理、安全权限、性能优化及实战方案,助您掌握高效、安全、低成本的数据存储最佳实践。
784 0
|
10月前
|
存储 缓存 网络协议
Linux 网络包的 “快递分拣”:从发送到接收的内核协作全景
本文以“快递分拣”为喻,详解Linux网络包从发送到接收的内核协作流程。通过系统调用、sk_buff封装、协议栈分层处理及硬/软中断协同,展现数据如何在应用层、内核与网卡间高效流转,揭示零拷贝、中断分工与分层设计等核心机制,呈现Linux网络栈精密高效的运作全景。(238字)
632 11
|
9月前
|
运维 监控 Cloud Native
Linux Kernel:云原生时代的操作系统内核
Linux Kernel是1991年Linus创建的开源内核,作为云计算与容器技术的基石,支撑进程隔离(Namespace/Cgroups)、K8s资源限制、eBPF监控等核心能力。掌握其五大子系统,是运维深入云原生的关键。(239字)
1504 10
|
11月前
|
数据采集 存储 数据管理
元数据管理是什么?怎么管?
元数据管理是让数据成为真正资产的关键。它通过统一管理“关于数据的数据”,解决找数难、口径不一、追溯困难等问题,建立业务与技术间的共识,实现数据可发现、可理解、可信任,推动企业数据驱动落地。
|
Kubernetes 测试技术 Perl
混沌测试平台 Chaos Mesh
混沌测试平台 Chaos Mesh
746 1
|
存储 人工智能 安全
AI 驱动下的阿里云基础设施:技术创新与产品演进
本文整理自阿里云智能集团副总裁、阿里云弹性计算产品线与存储产品线负责人吴结生在“2025 AI势能大会”上的演讲,重点介绍了阿里云在AI基础设施领域的技术创新与产品演进。内容涵盖CIPU架构、盘古存储系统、高性能网络HPN等关键技术,以及第九代英特尔企业实例、ESSD同城冗余云盘等新产品发布。同时,文章详细阐述了灵骏集群的优化措施和可观测能力的提升,展示阿里云如何通过持续创新为AI负载提供强大支持,助力企业在AI时代实现智能化转型。
AI 驱动下的阿里云基础设施:技术创新与产品演进
|
存储 数据管理 数据安全/隐私保护
云存储:云计算储存
云存储是基于互联网的分布式数据存储服务,允许用户远程存储、访问和管理数据。它通过多台虚拟服务器提供存储空间,支持多种服务模式如对象存储、块存储等,广泛应用于文件共享、数据备份、在线办公等领域,市场规模持续扩大,技术不断进步,未来将更加智能、安全和灵活。
6190 9
|
机器学习/深度学习 人工智能 自然语言处理
一文彻底讲透GPT架构及推理原理
本篇是作者从开发人员的视角,围绕着大模型正向推理过程,对大模型的原理的系统性总结,希望对初学者有所帮助。
|
SQL 关系型数据库 MySQL
在 MySQL 中使用 Exists
【8月更文挑战第11天】
2505 0
在 MySQL 中使用 Exists
安装VS Code报错:您选定的驱动器或UNC共享不存在或不能访问。请选择其他位置。
安装VS Code报错:您选定的驱动器或UNC共享不存在或不能访问。请选择其他位置。