广州悦跑信息科技有限公司是一家专注于通过移动互联网应用以及跑步社交运动和线下赛事活动,为中国跑步爱好者提供全方位服务的高科技企业。截止2017年1月,旗下悦跑圈APP用户规模达3000万。
作为典型的O2O的应用,悦跑圈需要在服务器端维护海量的核心业务数据,并且需要高可用、高可靠和稳定安全的平台来存储数据。
针对以上需求,有三种方案可以从不同层面满足,分别是:
本地文件服务器、自建文件服务器和阿里云文件存储服务。
本地文件服务器方案:
需要在本地IDC中维护独立的硬件设备和文件服务的集群。
图1: 本地文件服务器方案的架构图
该方案需要用户在本地IDC中部署计算节点、网络交换机和存储节点。
计算节点是由普通X86服务器或者运行在X86服务器上的虚拟机构成。用户自己配置计算节点的规模和客户端类型。存储节点支持广泛的连接协议,足够支持Windows客户端、Linux/Unix客户端和Mac客户端。
网络交换机通常是10GB/40GB的规格,用两台相同的交换机达到冗余部署,保证可用性。
存储节点是由专业存储厂商生产的产品,提供文件服务的能力。例如EMC的Isilon, Netapp的FAS系列产品等。存储节点可以是双控存储服务器,也可以是具有分布式集群的存储服务集群,集群内部使用InfiniBand网络或者10GB网络传输数据。存储节点可以提供高性能的文件存储服务,且支持多种文件协议。
自建文件服务器方案:
申请公有云的ECS和云盘,在此之上单件单机版或者具有一定HA能力的文件存储服务。
图2: 自管理云解决方案的架构图
自建文件服务器方案使用提供文件系统接口和对文件的共享访问权限的第三方软件利用阿里云ECS和云盘搭建的文件服务器。
这种解决方案的管理软件通常在阿里云ECS实例上运行,再利用阿里云块存储的云盘作为底层存储组件。
由于需要提供HA的能力,需要两份相同的资源,两个ECS实例分别作为提供文件存储服务的服务器,两块数据盘分别挂载到两个ECS实例提供数据存储能力。
除此之外,该方案还需要维护复杂的HA的能力和稳定性,保证任何一个文件服务器不是单点故障。即:当其中Primary文件服务器出现网络不同或者宕机等故障的时候,Backup文件服务器要立即响应上层的服务请求,同时保证数据一致性。
因此,该解决方案不仅需要第三方软件许可证,还需要阿里云ECS实例、阿里云块存储卷的预算,同时还有维护复杂HA的成本。
注:在图2中,40GB系统盘空间配置、1205GB数据盘空间配置仅仅用作图例说明,用户可以根据自己产品的实际情况,选择和配置相应的系统盘和数据盘。
阿里云文件存储服务方案:
依据阿里云的公有云资源,提供高可用、高可靠、稳定和安全的文件存储服务,并提供集成的解决方案支持和售后技术支持服务。
图3: 阿里云文件存储功能块图
阿里云文件存储是基于阿里云飞天平台的分布式共享文件系统。具有高可靠、高可用、多共享、单一命名空间、具备无限容量与性能横向扩展、能提供标准的POSIX文件访问协议。客户不需要对现有应用做任何修改即可使用。
高可用:
在NAS server发生failover的时候,NAS服务会秒级自动切换到其他NAS server上。
图4: 高可用的NAS Server集群Failover
而且,Distributed Shared Storage Pool系统是基于盘古的分布式存储系统,保证高可用性。
高可靠:
数据全部通过多备份的方式存储在磁盘上。
高可扩展:
NAS server是横向扩展的,保证读写性能可以随着集群规模而线性扩展。
Distributed Shared Storage Pool是基于盘古的,因此也支持高可扩展的功能。
下图讲述了三种方案的特点和优势对比:
图5: 三种方案的对比图
注:
①: 阿里云文件存储和自建文件服务器方案的TCO(Total Cost of Ownership)的比较,请参考链接:https://yq.aliyun.com/articles/67104
悦跑圈的业务场景是需要高可用、高可靠和高可扩展性的web服务能力。这就要求支撑业务数据的文件存储服务需要提供高可用、高可靠和高可扩展性的能力和保证;基于业务要求的可扩展web服务的场景,需要支持多台ECS共享访问相同的文件存储系统的能力;同时,该业务场景对小文件的处理能力要求很高,业务的增长产生每天10GB的小文件的增量,同时还要保证每天对千万级别的小文件访问的性能,达到毫秒级别的时延访问的能力。
面对悦跑圈业务的高要求,针对以上三种解决方案,只有阿里云文件存储服务方案可以满足所有的业务需求。
阿里云文件存储服务是基于飞天系统的分布式文件系统,具有高可用、高可靠、线性的横向扩展能力。并且,阿里云文件存储针对小文件系统的共享访问做过深度优化,能够存储亿级别的海量小文件,提供多达500个客户端的共享访问能力,综合QPS可以达到万级别。基于种种优势,阿里云文件存储服务可以帮助悦跑圈解决业务痛点,更好的助力企业自身业务的稳定发展。
悦跑圈业务架构图:
图6: 悦跑圈业务架构图