阿里云文件存储(NAS)助力业务系统承载双十一尖峰流量

本文涉及的产品
对象存储 OSS,20GB 3个月
阿里云盘企业版 CDE,企业版用户数5人 500GB空间
日志服务 SLS,月写入数据量 50GB 1个月
简介: 2018天猫双11,阿里云文件存储支撑了关键业务的消息系统存储,在应对几十倍于平时的大流量时,系统表现稳定,帮助业务系统完美度过尖峰流量的考验。本文将介绍阿里云文件存储的背景,以及文件存储是如何来保障业务系统应对高压力的。

2018天猫双11全球狂欢节,全天成交额再次刷新纪录达到2135亿元,其中总成交额在开场后仅仅用了205秒即突破100亿元,峰值的交易量达到惊人的高度,背后离不开阿里云大数据计算和存储能力的支撑。在整个交易的链路上,账单业务是一个重要的环节,尤其对商家系统来说,需要定期对账,账单子系统出现一点点问题都会影响商家的运营,2018的双十一,承载账单的消息系统把全网卖家账单系统60%的流量托付给了阿里云文件存储。在110点的峰值交易时刻,账单消息系统的写入流量瞬间达到日常流量的60倍以上,阿里云文件存储表现稳定,顺利扛下这一波洪峰,帮助业务系统完美度过0点的考验。本文将介绍阿里云文件存储的背景,以及文件存储是如何来保障业务系统应对高压力的。

什么是云上的NAS文件存储

在阿里云的发展早期,在云服务器ECS上运行的应用需要进行数据存储时,有两个选择:

  • 云盘:兼容应用的IO接口,但是和物理机使用硬盘一样,云盘和ECS绑定,单块云盘只能特定ECS访问;
  • OSS:多ECS可以共享访问,但需要应用调整IO接口,使用OSS的REST接口;

但如果应用既想保留原有的IO接口(一般是POSIX接口),又需要实现多ECS共享存储,就没有很好的解决办法。NAS文件存储在这样的背景下应运而生,针对传统企业级应用的存储需求,通过标准NAS系统协议(NFS/SMB),为ECS提供共享存储,支持随机读写以及PB级别容量,并且支持容量动态扩展,方便业务从小规模逐渐扩大过程中,不需要再担心存储容量的扩容以及运维问题。

阿里云NAS文件系统从2016年推出至今,已经应用在丰富的业务场景中,包括高HPC性能计算、Web服务和内容管理、媒体和娱乐处理工作流、容器存储、基因和生命科学数据存储处理,深度学习大数据处理等等,很好地服务了云上的客户。

NAS文件存储架构设计

阿里云文件存储是一个可共享访问,弹性扩展,高可靠,高性能的分布式文件系统,其架构设计如图1所示。

9bb252706ea9f050f20452acc267e0eb80ffc6e0

图1: 阿里云文件存储架构

整个技术栈分五层,第一层是各类计算节点(比如ECSDockerGPU等)不同操作系统使用标准文件协议NFS/SMB访问文件存储。第二层是阿里云网络负载均衡,把客户端请求轮转发送到前端机。第三层是负责协议处理的前端机,具备scale-out的能力。第四层是文件系统元数据管理,实现高效的数据结构保证元数据的快速操作。第五层是元数据和数据的持久化存储,使用阿里云盘古存储系统。

整个架构通过盘古保证高可靠,另外通过文件存储高效的数据和元数据管理技术实现scale-out、高可用,超高的数据访问性能以及一系列企业级存储的特性,如图2所示。

366326bb801d4887622e27317d956d384d7a3d6a

2 阿里云文件存储特性

账单业务消息系统适配文件存储

随着云上文件存储的知名度越来越广,阿里集团的很多内部业务也开始接入文件存储,其中就包括支撑账单业务的消息系统。

架构设计

消息系统的存储本来使用的是本地盘,这样最主要的问题就是当单机故障时,存储在磁盘上的数据没法及时被其他主机访问,其他主机不能快速接管原来主机的业务,缺乏容灾的能力,对应用的影响非常大。而使用文件存储天然具有多机共享访问的能力,可以很好的解决这个问题。

但是,如果只是简简单单地做一个替换,把本地存储换成文件存储,如图3那样,

6d706b5453aed09516740914df4ccd8eaa7bb185

图3 本地存储替换成文件存储(共享访问)

多台ECS通过NFSv4挂载同一个文件系统,每个ECS会使用到一个文件系统里的多个子目录作为消息文件的存储空间,虽然解决了前述的容灾问题,但这个架构的问题是过于依赖单点的存储,万一单文件系统发生故障,所有消息队列的访问都会受到影响,因此需要对架构进行进一步调整。调整的基本思路就是将流量尽量打散到多个文件系统上,同时又避免对业务方软件的改造。

调整后的架构入图4所示,为业务创建多个虚拟云机房,每个虚拟云机房的消息系统存储由4个NAS文件系统来承载,消息系统计算节点ECS会同时挂载4个文件系统,并且通过软链接的方式在‘nasroot’目录下看到多个队列,对业务使用上来说,这些队列对应的目录是在同一个文件系统(原来的架构)还是多个文件系统(新的架构)是不感知的,这样就将业务需要改造的量最小化,只需要在部署时候进行相应的自动化(挂载和创建软链接)即可,但带来的好处是巨大的,万一发生单文件系统的故障,业务可以自动分流到存活的文件系统,可以有效应对各种故障场景。

c7859fe91217a7e2f43c9f62422dedc7ff16bde6

4 架构优化

细节优化

相对于使用本地盘,计算存储分离架构下,如果应对存储测的异常和故障呢?标准的NFS挂载下,如果服务端出现故障或者网络发生故障,客户端访问文件存储将会是完全hang住,直到服务或者网络恢复为止。针对这个问题,消息系统进行了相应改造,业务系统对消息的一致性保障进行了优化,可以支持写消息失败。这样就可以使用NFS的soft挂载模式,当服务端出现故障或者网络发生故障时,应用程序将不会再是完全hang住,而是能迅速监测到IOError,并立即采取对应的行动。结合前述的架构设计,应用程序能进行快速响应,把流量分流到其他存活的文件系统上,快速恢复。

双十一的考验

经过架构设计和细节优化,文件存储的scale-out能力在双十一尖峰发挥出了应有的能力,即使在0点时刻流量是平时的60倍以上,表现依然稳定,在文件存储的给力表现下,业务系统的响应依然如日常一样顺滑,完全感觉不出超大流量对系统的冲击。

总结

阿里云文件存储为云上业务提供支持标准接口(POSIX)以及标准文件访问协议(NFSSMB)的存储服务,并且具有简单易用、安全可靠、性能和容量scale-out等特性。经过双十一的锤炼,文件存储的服务能力必将继续上升一个台阶,将提升后的能力以普惠技术的形式向云上各行各业输出,推动社会生产力的发展。

相关实践学习
基于ECS和NAS搭建个人网盘
本场景主要介绍如何基于ECS和NAS快速搭建个人网盘。
阿里云文件存储 NAS 使用教程
阿里云文件存储(Network Attached Storage,简称NAS)是面向阿里云ECS实例、HPC和Docker的文件存储服务,提供标准的文件访问协议,用户无需对现有应用做任何修改,即可使用具备无限容量及性能扩展、单一命名空间、多共享、高可靠和高可用等特性的分布式文件系统。 产品详情:https://www.aliyun.com/product/nas
目录
相关文章
|
文件存储 Docker 智能硬件
DIY nas之casaOS云系统&Home Assistant
CasaOS是一个基于Docker生态系统的开源家庭云系统,专为家庭场景而设计,它可以让您创建自己的云服务器
1748 1
|
前端开发 JavaScript 数据挖掘
医院LIS管理系统源码,DEV报表、前端js封装、分布式文件存储
云LIS系统还支持质控管理,为实验室提供科学的质量控制机制。用户可以根据需要调整质控参数,并可自动生成质控图表和统计分析报告。提供了数据分析功能,可以通过数据挖掘和分析来发现潜在关联性,为实验室提供更多的参考和决策支持
100 0
|
运维 文件存储 对象存储
【运维知识进阶篇】用阿里云部署kod可道云网盘(配置Redis+MySQL+NAS+OSS)(三)
【运维知识进阶篇】用阿里云部署kod可道云网盘(配置Redis+MySQL+NAS+OSS)(三)
331 0
|
2月前
|
存储 开发框架 .NET
C#语言如何搭建分布式文件存储系统
C#语言如何搭建分布式文件存储系统
86 2
|
2月前
|
存储 分布式计算 监控
C# 创建一个分布式文件存储系统需要怎么设计??
C# 创建一个分布式文件存储系统需要怎么设计??
42 0
|
5月前
|
Ubuntu Linux 文件存储
如何使用 Linux 构建自己的 NAS 系统?
【7月更文挑战第28天】
1484 6
如何使用 Linux 构建自己的 NAS 系统?
|
4月前
|
存储 数据可视化 Serverless
【C语言】C语言-学籍管理系统(源码+文件存储)【独一无二】
【C语言】C语言-学籍管理系统(源码+文件存储)【独一无二】
|
5月前
|
存储 NoSQL 文件存储
云计算问题之阿里云文件存储CPFS如何满足大模型智算场景的存储需求
云计算问题之阿里云文件存储CPFS如何满足大模型智算场景的存储需求
110 2
|
存储 运维 数据安全/隐私保护
【运维知识进阶篇】用阿里云部署kod可道云网盘(配置Redis+MySQL+NAS+OSS)(四)
【运维知识进阶篇】用阿里云部署kod可道云网盘(配置Redis+MySQL+NAS+OSS)(四)
317 0
|
存储 监控 安全
阿里云文件存储NAS(Apsara File Storage NAS)的测评体验报告
阿里云文件存储NAS(Apsara File Storage NAS)是一个弹性扩展的分布式文件系统,适用于各种企业级应用场景。本文将对其在内容管理系统和Web服务应用程序中的使用体验进行评估。
313 58

相关产品

  • 文件存储 NAS
  • 下一篇
    DataWorks