开发者社区> 问答> 正文

【云能量沙龙深圳站】陆晶丹:阿里云开放存储服务API与Web应用案例分享




阿里云开放存储服务高级产品经理 陆晶丹
    
陆晶丹:大家好,很高兴在深圳跟大家见面。我今天主要介绍一下我们开放存储服务的一些应用、技术使用方面的技巧和在OSS上面比较成功的客户案例。


    第一个部分我简单介绍一下什么是OSS开放存储服务?我想问一下在座的同学有没有已经在使用OSS服务的了?


    OSS服务是什么?这个问题经常有人问我,特别是不太了解OSS的人,因此我打个简单比方吧,不是很专业。比如我们OSS业务像银行,储户把钱存到银行,银行要保证他的钱的安全不要丢,第二个就是我要能随时随地存取,保障服务不间断。而OSS服务就如银行业务一样。OSS一定要保证数据不丢失,我们的设计要求就是数据的安全要保证99.99999999%的安全,以及不间断服务保证可性用。


     通过这个比方,从侧面也反映出了OSS几个特点,
      1,就是说我们支持海量的数据存储。你有多少钱,银行都可以让你存,你有多少数据OSS也可能存下。
      2,我们对文件的大小也是没有限制的,我发现我们底下的人也是使用过OSS,细心的用户会发现一次上传请求(PUT Objcet)的文件大小上限是5G,倒不是说我们OSS一次请求不支持更大的文件,而是由于我们的中国互联网的网络环境的影响,很少能一次请求就能够完整的5G数量传到上去。因此我们要上传更大的文件,还支持一个上传方法Multipart Upload的操作,你可以把你的大文件切块成若干个小快,然后通过并发上传小块,传输到OSS上,在OSS的服务端还原成大文件。
      3,我们希望OSS能跨语言开发,跨平台支持,跨终端分享。因此我们采用了简单、简洁地RESTful语言,并且为开发者封装了一些各语言版本的SDK。
      4,支持高可用性和高可靠性,并不是简单的宣传的。而要做到这些需要我们在设计OSS时要遵循的几个原则,第一要求硬件故障透明,我们让用户把有效的资源投入到自己的应用服务上来,把存储的事情交给我们来做,帮用户维护存储服务器。对于OSS的用户来讲,不用再担心存储服务器坏了,硬盘坏了,数据怎么办?于是延伸到第二个问题,如果一旦硬盘坏了或者是服务器当掉了,我们必须要保证数据的安全。就必须要对数据有一个或多个备份的机制,我们OSS服务提供多份备份,而且它们是部署在不同的机房和机架中,这个是很容易理解的,就是不想在一棵树上吊死。


      第三个就是对于应用者来讲,最关心的就是易扩展。有的客户就说,如果我要做存储,就必须要为未来的业务做扩容的准备,用OSS的话,就不许要提前买空间。而是你使用多少空间,就付多少钱。我们OSS服务端是会根据用户的存储业务发展,会提前部署扩展,永远不用担心空间不够用的问题。


       现在,我简单介绍一下开发存储服务的架构。现在看到的是典型的一个文件请求,用户的所有请求会落到我们的负载均衡层上,然后会均匀地打到协议处理、访问空间层,之后送到分区、索引上面,最后落到持久化存储层上面。

       上面我简单介绍一下了OSS服务的特点,现在我介绍一下OSS在开发时候的使用技巧。


    这上面是我微博曾经说的一句话,像fopen,fwiter这些本地读写文件的函数,当使用了我们OSS以后,可以把这些函数丢弃掉了。取而代之的可以用PUT、GET、HEAD,DELETE的RESTful语言代替,与云端的存储互通。


      我简单介绍一下我们OSS的一些基本术语,第一个就是Bucket,我觉得它就是为你的空间起一个名字,不管你存储是多大。第二个Obiect,文件。第三个Acces Key ID、Access key Secret,密钥。


       接下来,我介绍一下Bucket的权限,每一个都有权限的控制,1.可以设置为私有读写权限,你访问OSS的bucket数据的请求都要密钥认证,如果没有密钥进行访问的话,别人是访问不到你的数据的,保证数据的私密性和安全。第二个权限就是public—read,读操作是可以匿名访问的,但是写是加密的。第三个就是public—read—write,是公开的。


       我们OSS是支持防盗链的功能,大家可以看一下,这是一个加密的请求。如果说,你的Bucket进行了私有读写的权限,你要访问这个文件的话,你必须要加上一个签名认证,我们OSS才会认为你这个请求是有效的。这个URL的结构我给大家介绍一下,Signature签名,我们有一个协商好签名的规则,一个加密的请求过来,服务器端会判断签名是不是对的上,如果对的上则是一条有效的加密请求,如果对不上,我们就会拒绝这个请求。还有一点就是有效期Ecpires,比如说可以设置60秒失效或者五分钟失效,在这里可以做参数。另外我们也支持referer白单名的防盗链规则。


      我们还有很多小技巧,我们OSS也支持特定条件时才传输数据,了解浏览器的人对这四个参数应该很熟悉。它的作用是什么?当用户读取一个文件的时候,我们浏览器会CACHE这个文件,当再次请求时,应用端会把CACHE时间发给OSS服务端,如果您的文件未更新,则服务器端不会重复下载你的文件。如果您的有文件已更新,则服务器会更新传输这个文件到您的客户端上。这样做的目地是能够节省您的下行流量。刚才有一个朋友也说了,流量是要收费的,我在这里说一下只有在GET请求的时候才收费,我们上传(PUT)产生的流量免费。


      我们OSS上传Opject支持添加自定义的Header。在这个例子里面,为一个object添加作者字段。


      接下来,我觉得这个技巧也特别有用,实现了Opject断点和并发下载。使用HTP请求中通用的“range”头。


       一开始我也介绍了,支持大文件的上传,我觉得在中国的互联网现在不稳定的情况下,我建议把大文件都切成小块,并发上传,这样也节省时间。Multipart Upload就是做这件事情的。


      我在上面已经讲到了一些我们OSS最主要的一些方法,接下来我想跟大家分享一下用OSS能够做哪些应用?也是一个产品非常关注的问题。


      首先看一下,在Web上的应用,只要你开通了OSS服务,就可以在管理界面上看到控制台,它有两个目的。第一个目的就是想把API进行可视化的控制功能,比如说修改文件的属性,没有这个管理界面的话,程序员要把API相关接口调一下,现在提供控制台的功能,操作就会方便一些。


       第二个用途,其实原来OSS控制台前身是叫OSS体验站,我的意思就是希望让用户知道我们OSS是可以支持WEB应用开发的,这个页面就是简单的WEB  OSS的应用案例,它通过我们的API接品实现了通过WEB页面与云端的交互。


       第二个案例,就是够快,相当于一个网盘的应用。我会把我的一些文档都上传到上面,我说一个我的简单例子。
       第三个,我相信E人E本(同步)还是挺有意思的,葛优和冯小刚的广告是我最喜欢看的,也说明了一点,终端设备他们也在用我们的OSS服务。


       还有一个就是同步盘,就是终端共享。


       另外APP应用手机的案例,淘乐圈(手机 导购)。


       接下来,又回到我们今天沙龙的主题,就是我们2012年开发者大赛,也是列举了几个应用的案例,这些仅供大家参考,大家可以往这些方面去思考,但是不限于此。你有更好地应用或工具也可以参加我们的大赛。


       我简单地介绍一下,在OSS上面的一些很使用的工具,第一个工业同步客户端。第二个就是文件系统类的工具,一般站长来讲,对于FTP工具是比较熟悉,我们也希望能够封装出FTP的工具来打通我们OSS,它的第二个小功能,可以支持能把OSS的bucke当成一个盘符,挂载本地系统中或当网络驱动器。给最终用户的感觉就像是打开D盘一样。第三个SDK。第四个就是框架插件,比如说phpwind、discuz等。


        我今天的演讲就到这里结束了,谢谢大家。
    

展开
收起
sleepbird 2012-09-19 15:18:35 22467 0
23 条回答
写回答
取消 提交回答
  • Re【云能量沙龙深圳站】陆晶丹:阿里云开放存储服务API与Web应用案例分
    私有云

    -------------------------

    Re【云能量沙龙深圳站】陆晶丹:阿里云开放存储服务API与Web应用案例分
    http://www.yhz66.com
    2015-03-20 11:04:22
    赞同 展开评论 打赏
  • oracle数据库技术支持服务 www.yundba.com 云库管
    Re:【云能量沙龙深圳站】陆晶丹:阿里云开放存储服务API与Web应用案例分 ..
    good !  


    关于Bucket数量,每个账号目前最大上限只能建10个,且不能同名,像是域名的唯一性一样,所以加抓紧时间抢注!


                                         oracledbawyq





    2015-03-19 16:33:06
    赞同 展开评论 打赏
  • Re【云能量沙龙深圳站】陆晶丹:阿里云开放存储服务API与Web应用案例分
    学习一下吧,这个新东东
    2013-07-26 22:06:48
    赞同 展开评论 打赏
  • Re:【云能量沙龙深圳站】陆晶丹:阿里云开放存储服务API与Web应用案例分 ..
    继续期待
    2013-07-21 20:34:09
    赞同 展开评论 打赏
  • Re【云能量沙龙深圳站】陆晶丹:阿里云开放存储服务API与Web应用案例分
    期待
    2013-07-12 14:47:54
    赞同 展开评论 打赏
  • 回楼主sleepbird的帖子
    强烈支持
    2013-07-04 12:04:41
    赞同 展开评论 打赏
  • Re【云能量沙龙深圳站】陆晶丹:阿里云开放存储服务API与Web应用案例分
    2013-05-15 20:35:39
    赞同 展开评论 打赏
  • Re【云能量沙龙深圳站】陆晶丹:阿里云开放存储服务API与Web应用案例分
    支持下
    2012-11-09 21:58:21
    赞同 展开评论 打赏
  • Re【云能量沙龙深圳站】陆晶丹:阿里云开放存储服务API与Web应用案例分
    这个论坛现在好简单
    2012-11-09 12:22:23
    赞同 展开评论 打赏
  • Re【云能量沙龙深圳站】陆晶丹:阿里云开放存储服务API与Web应用案例分
    很厉害啊
    2012-11-08 21:39:36
    赞同 展开评论 打赏
  • Re【云能量沙龙深圳站】陆晶丹:阿里云开放存储服务API与Web应用案例分
    微博链接是多少
    2012-11-08 20:07:52
    赞同 展开评论 打赏
  • Re【云能量沙龙深圳站】陆晶丹:阿里云开放存储服务API与Web应用案例分
    强烈支持!
    2012-11-08 19:53:56
    赞同 展开评论 打赏
  • Re【云能量沙龙深圳站】陆晶丹:阿里云开放存储服务API与Web应用案例分
    支持
    2012-11-08 11:11:07
    赞同 展开评论 打赏
  • Re【云能量沙龙深圳站】陆晶丹:阿里云开放存储服务API与Web应用案例分
    MARK下~~~~
    2012-11-08 10:07:26
    赞同 展开评论 打赏
  • Re【云能量沙龙深圳站】陆晶丹:阿里云开放存储服务API与Web应用案例分
    凑够五个帖子先

    -------------------------

    Re【云能量沙龙深圳站】陆晶丹:阿里云开放存储服务API与Web应用案例分
    这些应该够了吧
    2012-11-07 15:59:28
    赞同 展开评论 打赏
  • Re【云能量沙龙深圳站】陆晶丹:阿里云开放存储服务API与Web应用案例分
    真不错,可惜错过了
    2012-11-07 10:31:47
    赞同 展开评论 打赏
  • Re【云能量沙龙深圳站】陆晶丹:阿里云开放存储服务API与Web应用案例分
    强烈支持!
    2012-11-06 11:48:23
    赞同 展开评论 打赏
  • Re【云能量沙龙深圳站】陆晶丹:阿里云开放存储服务API与Web应用案例分
    强烈支持!
    2012-11-06 11:24:58
    赞同 展开评论 打赏
  • Re【云能量沙龙深圳站】陆晶丹:阿里云开放存储服务API与Web应用案例分
    期待了
    2012-11-06 11:09:59
    赞同 展开评论 打赏
  • Re【云能量沙龙深圳站】陆晶丹:阿里云开放存储服务API与Web应用案例分
    强烈支持!
    2012-11-05 21:50:32
    赞同 展开评论 打赏
滑动查看更多
问答排行榜
最热
最新

相关电子书

更多
Web应用系统性能优化 立即下载
高性能Web架构之缓存体系 立即下载
PWA:移动Web的现在与未来 立即下载