悦跑圈上云之路:你所跑的每一步背后的技术支撑

简介: “悦跑圈”是一款基于社交型的跑步应用。记录专业化跑步数据,在排行榜与全国跑友比拼,在独有的社交平台(跑友圈)与跑友分享交流,另外还支持微博微信分享。截止2017年1月,悦跑圈APP用户规模已达3000万。

本文正在参加“最佳上云实践”评选,来给我们投票吧:https://yq.aliyun.com/activity/158(编号18)

上云方案调研

针对以上需求,我们共设计了三种方案来从不同层面满足,分别是:本地文件服务器、自建文件服务器和阿里云文件存储服务。

1. 本地文件服务器方案

该方案需要在本地IDC中部署计算节点、网络交换机和存储节点,维护独立的硬件设备和文件服务的集群。本地文件服务器方案的架构图如下。

f9bab3209eea08914ea9a1c2a907bfbbb1367e5  

计算节点是由普通X86服务器或者运行在X86服务器上的虚拟机构成,可以自己配置计算节点的规模和客户端类型。存储节点支持广泛的连接协议,足够支持Windows客户端、Linux/Unix客户端和Mac客户端。

网络交换机通常是10GB/40GB的规格,用两台相同的交换机达到冗余部署,保证可用性。

存储节点是由专业存储厂商生产的产品,提供文件服务的能力。例如EMC的Isilon, Netapp的FAS系列产品等。存储节点可以是双控存储服务器,也可以是具有分布式集群的存储服务集群,集群内部使用InfiniBand网络或者10GB网络传输数据。存储节点可以提供高性能的文件存储服务,且支持多种文件协议。

2. 自建文件服务器方案

申请公有云的ECS和云盘,在此之上单件单机版或者具有一定HA能力的文件存储服务。自管理云解决方案的架构图如下。

1f5a2ae5933ddef2122e8681b92af34608e157a

自建文件服务器方案使用提供文件系统接口和对文件的共享访问权限的第三方软件利用阿里云ECS和云盘搭建的文件服务器。

这种解决方案的管理软件通常在阿里云ECS实例上运行,再利用阿里云块存储的云盘作为底层存储组件。 

由于需要提供HA的能力,需要两份相同的资源,两个ECS实例分别作为提供文件存储服务的服务器,两块数据盘分别挂载到两个ECS实例提供数据存储能力。

除此之外,该方案还需要维护复杂的HA的能力和稳定性,保证任何一个文件服务器不是单点故障。即:当其中Primary文件服务器出现网络不同或者宕机等故障的时候,Backup文件服务器要立即响应上层的服务请求,同时保证数据一致性。

3. 阿里云文件存储服务方案

依据阿里云的公有云资源,提供高可用、高可靠、稳定和安全的文件存储服务,并提供集成的解决方案支持和售后技术支持服务。阿里云文件存储功能块图如下。

3a791ba0d9af2f1d4f8e93dae1e0e06c2365cae

阿里云文件存储是基于阿里云飞天平台的分布式共享文件系统。具有高可靠、高可用、多共享、单一命名空间、具备无限容量与性能横向扩展、能提供标准的POSIX文件访问协议,不需要对现有应用做任何修改即可使用。

在NAS server发生failover的时候,NAS服务会秒级自动切换到其他NAS server上。

3d46840949fb6e673d16672b0ddd0ffec02d920

最终选型

下图是这三种方案的特点和优势对比:

  262e044f1a681ef6d532db78a54a2e7a1f0e9c0

针对以上三种解决方案,最终我们选择了第3种,使用阿里云文件存储,因为:

阿里云文件存储服务是基于飞天系统的分布式文件系统,具有高可用、高可靠、线性的横向扩展能力;

阿里云文件存储针对小文件系统的共享访问做过深度优化,能够存储亿级别的海量小文件,提供多达500个客户端的共享访问能力,综合QPS可以达到万级别。

悦跑圈的云端架构

下面是悦跑圈的业务架构图:

783c21de805b265fcaa6e819eaf6a9416581067

 

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
存储 传感器 边缘计算
F1赛道,跑的就是“黑科技”
F1赛道,跑的就是“黑科技”
|
SQL 存储 NoSQL
数据中台为什么不好搞?
数据中台落地的关键在于计算引擎,而计算引擎需要具备独立且完备的计算能力、应对多样性数据源的开放性、开发的高效性以应对不停变化的前台需求。
213 1
数据中台为什么不好搞?
|
移动开发 前端开发 搜索推荐
跑赢业务的同时如何实现技术成长?
做业务就好比打仗,团队是我们的归属。在团队中,我们既要通力协作,又要定义问题,既要业务先赢,又要技术成长。越来越多的前端将投身业务研发,要有更好的发展,业务理解力非常关键。
11551 0
跑赢业务的同时如何实现技术成长?
|
双11 数据库 安全
深度回顾!30篇好文,解析历年双十一背后的阿里技术秘籍 | 双11特别策划之一
一年一度的双十一进入倒计时!自2009年起,天猫双十一当天的交易额逐年增长,在庞大的数据处理量面前,用户在使用感上却丝毫不受影响。今天我们就为大家挑选了,历届双十一中阿里技术团队在面对流量洪峰时所运用的技术,来看看是哪些黑科技在保证你能顺畅地“剁手”?
14502 0
|
开发者
阿里巴巴小程序繁星计划专题上线,汇集最优扶持资源与最新资讯!
阿里巴巴小程序繁星计划公布后,得到开发者们的热切关注,大家积极参与小程序开发者问卷调研,加入小程序开发者群中交流讨论,开通小程序云应用资源体验实践。为了帮助大家更快更多的了解阿里巴巴小程序繁星计划的动态,我们上线了专题页面,汇集:最新资讯,小程序云产品策略、扶持计划,一云多端架构,开发者互动区,专家团和实践案例。
4588 0
|
大数据 物联网 云计算
大数据老兵的“回忆杀”:我做开发者这十年
不知不觉从业小10年了,想想上学那会,刚接触互联网的时候,玩的都是域名、虚拟主机、CMS这些,现在的大学生玩的都是大数据、机器学习这些了,真的有种旧貌换新颜的感觉。
4385 0
|
微服务 程序员
搞技术十年,还是这套架构体系靠谱!
今天,就为大家整理一份目前互联网公司最主流的技术选型
1673 0
|
机器学习/深度学习 算法 Java
Android开发十年,到中年危机就只剩下这套移动架构体系了!
蓦然回首自己做开发已经十年了,这十年中我获得了很多,技术能力、培训、出国、大公司的经历,还有很多很好的朋友。但再仔细一想,这十年中我至少浪费了五年时间,这五年可以足够让自己成长为一个优秀的程序员,可惜我错过了,我用这五年时间和很多程序员一样在困惑和迷茫中找不到出路! 路其实一直都在那里,只是我们看不到而已! 以前我一直被公司和技术牵着走,并不是自己在选择技术,而是不自觉地被推到了这个位置上。