文档章节

云存储应用场景全总结 –App、HTML5、Web 应用篇

七牛云
 七牛云
发布于 2015/01/23 10:47
字数 2056
阅读 1248
收藏 10
点赞 0
评论 0

[前言]

七牛目前已服务超过15万家企业和开发者用户,这些用户的应用场景也各有不同,推出这个系列的文章,希望通过对这些场景的全面解析,可以帮助开发者们减少在云服务使用过程中的弯路。

前两期我们重点说了:

云存储应用场景全总结 – 音视频篇

云存储应用场景全总结 –图片应用篇

今天,我们要介绍的是App分发、HTML5以及Web等应用场景。


一、HTML5 类应用

利用微信朋友圈进行传播的HTML5小游戏正逐渐被行业重视,且将PC端的经典产品改编成H5游戏也或将成为一种趋势。似乎在微信内此路仍可成型——开发多款不同类型的小游戏,利用话题性和病毒性进行传播聚集在自己的平台,利用各种渠道进行传播,将用户导向自己。

而七牛平台也在过去一年里有幸见证了这一类应用的崛起,并且承载了很多此类的应用的云服务。据我们发现,HTML5这类应用对云服务比较关注的有两点:

1、HTML5应用中的图片资源、htmlcss资源在移动端的访问速度效果如何

七牛CDN对移动、联通、电信这些主要运营商的网络都有广泛的节点覆盖,访问速度通过17ce、阿里测、奇云测,都可以对各地区访问资源的速度进行测试,同时七牛除了提供HTTP域名,还提供了HTTPS域名,可以给需要SSL通道访问的Web应用提供一条优秀的链路选择。

2、如果应用中的资源发生更新,多久可以访问到最新的资源

由于七牛的CDN加速依赖CDN节点上的缓存,所以资源在七牛的空间上更新后,如果直接访问原有资源的URL,并不能马上获取的最新的文件,但是可以通过URL+?v=20150115这样的形式获取到最新的资源,所以建议在资源更新之后带上问号参数对资源进行访问。

七牛平台上已经积累了很多专注于HTML5的开发者,其中不乏已经在该圈颇具之名度的,比如MAKA,未来应用、醋溜新媒体等。以醋溜新媒体为例,以前每次出现微信祈福的H5页面,流量会攀升至几千万,服务器的压力很大,接入七牛后的云存储服务后,UV在短时间内就平稳地达到了1.5亿,在用户体验方面有了显著的改善。


二、Web应用

这里指的Web应用主要指的是在网页端对七牛资源进行上传、处理、访问的应用,覆盖面也比较广,和之前的图片类、音视频类应用也有交集的部分,但是也有其特殊之处,一般来说会涉及下面几个方面。

1、网页客户端的上传是否有相应地工具能够减少开发量

通过网页客户端上传七牛,七牛官方提供了JavaScrpt的SDK,利用Plupload上传组件对客户端资源进行上传,当然上传时涉及安全机制的部分还得依赖服务端的程序,七牛也提供了丰富的服务端SDK供客户选择。工具方面,七牛也收集了一些为七牛定制的上传工具的插件,开发成本大大减少。

2、网页客户端的上传速度能否保证

 七牛针对客户端除了默认提供的上传加速服务,另外也提供了断点续上传的接口,来保证大文件上传的稳定性和高效性,具体实现细节在SDK中均有实现。

此外,七牛云存储还有一个独一无二的特性——支持用户将文件从客户端直传到云服务器中。

常见的云存储上传文件流程一般如下:

用户 =>应用服务器 =>云存储提供商

这样多了一次上传的流程,和本地存储相比,会相对慢一些。

而七牛提供了客户端自传的功能,流程可以改成:

用户 =>七牛 =>应用服务器

用户直接上传到七牛的服务器,通过DNS智能解析,七牛会选择到最近的最合适的ISP服务商节点,速度会比原先快很多,上传成功以后,七牛的服务器使用回调功能,只需要将非常少的数据(比如keypost回应用服务器,应用服务器进行保存即可。


三、App分发类应用

App分发的应用场景分两个方面,即上传和下载。而上传一般都是客户的服务端直接控制,所以用户关注的点主要在于下载。

1、下载速度能否保证,文件下载的完整性能否保证 

下载速度基本依赖于请求下载端的网络状况,七牛不会限制下载带宽,下载的完整性一定程度上也依赖下载端是否进行了完整的下载。如果出现App下载后安装失败,那么首先要做的是,测试在相同网络状况下不同设备的下载安装情况、以及不同网络状况下相同设备的安装情况。

2、App版本更新后,能否立即访问到最新的资源,能否预推新的资源

App这样的资源建议直接在文件的文件名中带上版本号,而不是更新资源后使用相同的文件名,因为不能避免会有部分CDN节点上存在旧资源的缓存。但是也可以通过七牛qboxrsctl/qrsctl 工具进行302的重定向设置,将相同URL重定向到不同的资源上。

3、iOS 7.1以上的企业级APP发布需要https链接,七牛是否提供。

只要成为七牛的标准用户,都可以直接在七牛的空间设置的域名设置中,创建一个https的链接,manifest.plist文件中,只要将URL设置为七牛提供的https的文件外链,即可轻松通过APP STORESSL证书审核。


[举例说明]客户案例之豌豆荚

豌豆荚就属于应用场景比较典型的App分发类应用,当然目前豌豆荚业务扩展到了壁纸、小说还有视频,这些项目和之前我们介绍的图片展示类、音视频播放类应用场景差不多。豌豆荚一般通过下面几个方面来使用七牛:

1、APK文件、图片、视频资源的上传,这个上传一般不是豌豆荚用户直传七牛,因为豌豆荚需要对用户的上传文件进行一些审核,然后由豌豆荚的业务服务器对资源进行上传。同样,七牛不会限制上传的带宽,只要豌豆荚的机房出口带宽有多大,我们就能有多大的入口带宽。 

2、APK文件的下载同样也是通过七牛的CDN加速通道,加速效果可以任意下载一个豌豆荚的链接就能体会到,不过豌豆荚的文件名本身会带上版本号,所以新的版本发布不会存在访问文件仍然是旧文件的现象,这个也是七牛推荐的更新文件的方式。当然如果必须使用相同的文件名,那么就建议用3xx的重定向服务了。

七牛上的应用场景随着用户的增多也越来越丰富,我们还在继续挖掘有意思的场景,希望以不同的形式展现给开发者。

 

© 著作权归作者所有

共有 人打赏支持
七牛云
粉丝 39
博文 60
码字总数 109690
作品 0
浦东
扣丁学堂HTML5培训课程怎么样

  在如今,随着移动互联网技术的发展和进步,比如HTML5在移动互联端的应用,让更多人了解到它的丰富性趣味性便利性,但HTML5就包括这些么?扣丁学堂HTML5培训课程怎么样?零基础能学会么?...

扣丁学堂 ⋅ 06/01 ⋅ 0

Web前端最全面试宝典- Html篇

HTML 1.对WEB标准以及W3C的理解与认识 标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外 链css和js脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访...

颜卿今天Coding了吗 ⋅ 2017/03/04 ⋅ 0

实现多个标签页之间通信的几种方法(sharedworker)

示例地址 prologue 之前在网上看到一个面试题:如何实现浏览器中多个标签页之间的通信。我目前想到的方法有三种:使用websocket协议、通过localstorage、以及使用html5浏览器的新特性SharedW...

ITgecko ⋅ 04/11 ⋅ 0

浅谈如何实现HTML5的离线存储

关于HTML5离线存储原理及实现,笔者找到一篇介绍离线缓存的,感觉比之前看到的解释的更透彻,新的知识点记录如下: 大家都知道Web App是通过浏览器来访问的,所以离线状态下是无法使用app的。...

小欣妹妹 ⋅ 04/19 ⋅ 0

HTML5学习之Web Storage基础知识

HTML5 Web 存储 在HTML5 Web Storage还没出来之前,本地存储使用的是 cookie. 但是Web 存储需要更加的安全与快速,这些数据不会被保存在服务器上,但是这些数据只用于用户请求网站数据上.它也可...

CHIEMINCHAN ⋅ 05/11 ⋅ 0

弥补Web开发缺陷实战 HTML5 中存储API

COOKIES的限制和缺陷 首先,让我们来回顾下 cookies。Cookies 的出现可谓大大推动了Web的发展,但它既有优点也有一定的缺陷。Cookies 的优点在于,它可以允许我们在登陆网站时,记住我们输入...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

HTML5在客户端存储数据的新方法——localStorage

HTML5在客户端存储数据的新方法——localStorage localStorage作为HTML5本地存储web storage特性的API之一,主要作用是将数据保存在客户端中,而客户端一般是指上海网站设计用户的计算机。 ...

祈澈姑娘 ⋅ 2017/12/19 ⋅ 0

WEB前端开发学习HTML5到底有多厉害?

Web前端开发工程师是一个很新的职业,是从事Web前端开发工作的工程师。主要进行网站开发,优化,完善的工作。网页制作是Web 1.0时代的产物,那时网站的主要内容都是静态的,用户使用网站的行...

web前端小辰 ⋅ 05/23 ⋅ 0

cookie、localStorage和sessionStorage 三者之间的区别以及存储、获取、删除等使用方式

写在前面: 前端开发的时候,在网页刷新的时候,所有数据都会被清空,这时候就要用到本地存储的技术,前端本地存储的方式有三种,分别是cookie,localstorage和sessionStorage ,这是大家都知...

OB丶Koro1 ⋅ 2017/11/27 ⋅ 0

html5-web本地存储

在html5中为我们提供了一种本地缓存机制,它将取代我们的cookie,并且它是不会随浏览器发会我们的服务器端的。我们可以采用js在客户端自由的操作本地缓存。html5中缓存主要有localStorage,和...

zting科技 ⋅ 2017/01/10 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 51分钟前 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

VS中使用X64汇编

需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地...

simpower ⋅ 今天 ⋅ 0

ThreadPoolExecutor

ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ......

4rnold ⋅ 昨天 ⋅ 0

Java正无穷大、负无穷大以及NaN

问题来源:用Java代码写了一个计算公式,包含除法和对数和取反,在页面上出现了-infinity,不知道这是什么问题,网上找答案才明白意思是负的无穷大。 思考:为什么会出现这种情况呢?这是哪里...

young_chen ⋅ 昨天 ⋅ 0

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 昨天 ⋅ 0

实验楼—MySQL基础课程-挑战3实验报告

按照文档要求创建数据库 sudo sercice mysql startwget http://labfile.oss.aliyuncs.com/courses/9/createdb2.sqlvim /home/shiyanlou/createdb2.sql#查看下数据库代码 代码创建了grade......

zhangjin7 ⋅ 昨天 ⋅ 0

一起读书《深入浅出nodejs》-node模块机制

node 模块机制 前言 说到node,就不免得提到JavaScript。JavaScript自诞生以来,经历了工具类库、组件库、前端框架、前端应用的变迁。通过无数开发人员的努力,JavaScript不断被类聚和抽象,...

小草先森 ⋅ 昨天 ⋅ 0

Java桌球小游戏

其实算不上一个游戏,就是两张图片,不停的重画,改变ball图片的位置。一个左右直线碰撞的,一个有角度碰撞的。 左右直线碰撞 package com.bjsxt.test;import javax.swing.*;import j...

森林之下 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部