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

2018天猫双11全球狂欢节,全天成交额再次刷新纪录达到2135亿元,其中总成交额在开场后仅仅用了2分05秒即突破100亿元,峰值的交易量达到惊人的高度,背后离不开阿里云大数据计算和存储能力的支撑。在整个交易的链路上,帐单业务是一个重要的环节,尤为对商家系统来讲,须要按期对帐,帐单子系统出现一点点问题都会影响商家的运营,2018的双十一,承载帐单的消息系统把全网卖家帐单系统60%的流量托付给了阿里云文件存储。在11日0点的峰值交易时刻,帐单消息系统的写入流量瞬间达到平常流量的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所示。数据结构

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

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

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

图2 阿里云文件存储特性分布式

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

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

架构设计

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

可是,若是只是简简单单地作一个替换,把本地存储换成文件存储,如图3那样,

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

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

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

图4 架构优化

细节优化

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

双十一的考验

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

总结

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

原文连接

相关文章
相关标签/搜索