OSS传输加速利用全球分布的云机房,将全球各地用户对您存储空间(Bucket)的访问,经过智能路由解析至就近的接入点,使用优化后的网络及协议,为云存储互联网的上传、下载提供端到端的加速方案。

使用场景

OSS传输加速功能适用于各种需要提升访问速度,提升用户体验的场景:
  • 远距离数据传输加速

    例如全球性的论坛、Top在线协同办公平台等,部分客户会因传输距离较远导致上传和下载体验非常差。传输加速功能可以让全球各地的客户使用优化后的网络来传输数据,极大地提升上传和下载速度,让不同地域的用户都能有很好的访问体验。

  • GB、TB级大文件上传和下载

    通过互联网远距离上传和下载大文件时,经常会因为网络延迟过大而导致传输失败。传输加速功能使用优化的互联网传输链路、调优的协议栈与传输算法,可大幅减少远距离互联网传输超时的比例。您还可以让传输加速功能与分片上传断点续传下载结合,形成远距离大文件上传和下载的解决方案。

  • 非静态、非热点数据下载加速

    例如相册应用、游戏、电商、社交应用的评论内容、企业门户网站、金融类APP等,用户的下载体验直接影响产品竞争力和客户留存率。传输加速功能作为专为OSS上传、下载加速而设计的功能,可以最大限度利用客户端的网络能力,提升用户的下载体验。

传输加速Endpoint类型

开启传输加速后,Bucket在保留默认Endpoint的基础上,会新增如下两种传输加速Endpoint。

  • 全球加速Endpoint:地址为oss-accelerate.aliyuncs.com。传输加速接入点分布在全球各地,全球各地的Bucket均可以使用该域名进行传输加速。
  • 非中国内地加速Endpoint:地址为oss-accelerate-overseas.aliyuncs.com。传输加速接入点分布在除中国内地以外的各地域,仅在中国香港及海外各地域Bucket绑定未备案的域名做CNAME指向时使用。
通过ossutil测试实际加速效果如下。

您可以通过OSS全球传输加速效果对比工具测试您本地访问全球各地数据中心时,开启传输加速与未开启传输加速的访问速度。

使用方式

开启OSS传输加速步骤,请参见开启传输加速。开启OSS传输加速后,以全球加速Endpoint为例,您可以通过以下方式实现传输加速:
  • 浏览器访问
    通过浏览器访问时,文件URL的Endpoint字段需替换为传输加速Endpoint,例如https://test.oss-cn-shenzhen.aliyuncs.com/myphoto.jpg需改为https://test.oss-accelerate.aliyuncs.com/myphoto.jpg。如果文件访问权限为私有,则还需要加上签名信息。
    说明 如果您的存储空间已绑定自定义域名,且希望通过自定义域名访问OSS时实现传输加速,您可以通过CNAME配置,将您的域名指向OSS加速域名。配置方式,请参见绑定传输加速域名
  • ossutil
    通过ossutil访问时,将配置文件内的Endpoint替换为加速Endpoint,或在每条操作命令中增加-e oss-accelerate.aliyuncs.com。操作示例如下:ossuossutil配置方法,请参见ossutil
  • ossbrowser
    通过ossbrowser访问时,将Endpoint改为自定义,并设置为加速Endpoint。配置示例如下:ossbrowserossbrowser配置方法,请参见ossbrowser
  • SDK
    通过各语言SDK访问时,将endpoint设置为加速Endpoint。以Java SDK的简单上传和简单下载为例:
    • 简单上传
      // 填写传输加速Endpoint。以全球加速Endpoint为例。
      String endpoint = "https://oss-accelerate.aliyuncs.com";
      // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
      String accessKeyId = "yourAccessKeyId";
      String accessKeySecret = "yourAccessKeySecret";
      
      // 创建OSSClient实例。
      OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
      
      // 上传文件。yourLocalFile由本地文件路径加文件名组成,例如/users/local/myfile.txt。
      ossClient.putObject("yourBucketName", "yourObjectName", new File("yourLocalFile"));
      
      // 关闭OSSClient。
      ossClient.shutdown();
    • 简单下载
      // 填写传输加速Endpoint。以全球加速Endpoint为例。
      String endpoint = "https://oss-accelerate.aliyuncs.com";
      // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
      String accessKeyId = "yourAccessKeyId";
      String accessKeySecret = "yourAccessKeySecret";
      // 填写Bucket名称。
      String bucketName = "yourBucketName";
      // 填写不包含Bucket名称在内的Object完整路径,例如testfolder/exampleobject.txt。
      String objectName = "yourObjectName";
      
      // 创建OSSClient实例。
      OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
      
      // 下载Object到本地文件,并保存到指定的本地路径中。如果指定的本地文件存在会覆盖,不存在则新建。
      // 如果yourLocalFile未包含文件路径,则下载后的文件默认保存到示例程序所属项目对应文件路径中。
      ossClient.getObject(new GetObjectRequest(bucketName, objectName), new File("yourLocalFile"));
      
      // 关闭OSSClient。
      ossClient.shutdown();
    更多SDK示例,请参见SDK简介

注意事项

  • 传输加速开启及关闭操作会在30分钟内全网生效。
  • 开启传输加速后必须使用OSS的传输加速域名才会提升访问速度。
  • 若您工具中配置的Endpoint为传输加速Endpoint时,您只能操作已开启传输加速功能的Bucket。
  • 开启传输加速功能后,OSS提供的其他Endpoint仍可正常使用。在不需要传输加速的场景中,您可以使用默认Endpoint以减少传输加速的费用。
  • 为保证数据传输安全,传输加速后段加速逻辑会视情况选择使用HTTPS协议进行数据传输。所以,客户端使用HTTP协议通过传输加速域名访问OSS时,在OSS的访问日志中看到的访问协议可能是HTTPS。
  • 传输加速是收费功能。费用详情,请参见传输加速费用

常见问题

  • 传输加速与CDN加速有什么区别?
    功能 原理 适用场景
    传输加速 通过智能调度的系统、优化的传输链路、调优的协议栈与传输算法,并深度结合OSS服务端的配套策略,提供的端到端的加速方案。
    • 文件上传加速场景。
    • 远距离的文件上传、下载场景。
    • 大文件上传、下载场景。
    • 动态更新文件、非热点文件的下载加速场景。
    CDN加速 将OSS的Bucket作为源站,将源内容缓存到边缘节点。当客户读取数据时,会从最适合的节点获取缓存文件,以提升下载速度。 静态热点文件的下载加速场景,即同一地区大量用户同时下载同一个静态文件的场景。
  • 如何通过自定义域名使用传输加速服务?

    您可以绑定自定义域名之后,将CNAME指向传输加速域名。详细步骤,请参见绑定传输加速域名

  • 为什么使用传输加速Endpoint无法列举Bucket?

    传输加速服务仅针对携带Bucket名称信息的三级域名(格式为https://BucketName.oss-accelerate.aliyuncs.com)提供解析服务。而列举Bucket的请求域名中不携带Bucket名称信息,因此您无法使用传输加速Endpoint列举Bucket。建议您通过默认Endpoint列举目标地域的Bucket,例如https://oss-cn-hangzhou.aliyuncs.com