对象存储OSS服务

一、oss是什么

阿里云对象存储服务(Object Storage Service,简称OSS)为您提供基于网络的数据存取服务。使用OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种非结构化数据文件

阿里云OSS将数据文件以对象(object)的形式上传到存储空间(bucket)中。您可以进行以下操作:

(1)创建一个或者多个存储空间,向每个存储空间中添加一个或多个文件。

(2)通过获取已上传文件的地址进行文件的分享和下载。

(3)通过修改存储空间或文件的属性或元信息来设置相应的访问权限。

(4)在阿里云管理控制台执行基本和高级OSS任务。

(5)使用阿里云开发工具包或直接在应用程序中进行RESTful API调用执行基本和高级OSS任务。

 

二、对象存储oss 与 自建服务器存储的对比

对比项 对象存储OSS 自建服务器存储
可靠性
  • 服务设计可用性不低于99.99%。
  • 规模自动扩展,不影响对外服务。
  • 数据设计持久性不低于99.999999999%。
  • 数据自动多重冗余备份。
  • 受限于硬件可靠性,易出问题,一旦出现磁盘坏道,容易出现不可逆转的数据丢失。
  • 人工数据恢复困难、耗时、耗力。
安全
  • 提供企业级多层次安全防护。
  • 多用户资源隔离机制,支持异地容灾机制。
  • 提供多种鉴权和授权机制及白名单、防盗链、主子账号功能。
  • 需要另外购买清洗和黑洞设备。
  • 需要单独实现安全机制。
成本
  • 多线BGP骨干网络,无带宽限制,上行流量免费。
  • 无需运维人员与托管费用,0成本运维。
  • 存储受硬盘容量限制,需人工扩容。
  • 单线或双线接入速度慢,有带宽限制,峰值时期需人工扩容。
  • 需专人运维,成本高。
数据处理能力 提供图片处理、音视频转码、内容加速分发、鉴黄服务、归档服务等多种数据增值服务,并不断丰富中。 需要额外采购,单独部署。

三、使用场景

1、图片和音视频等应用的海量存储

2、网页或者移动应用的静态和动态资源分离

3、云端数据处理

四、购买oss服务

官网购买链接:https://www.aliyun.com/product/oss

阿里云优惠券领取链接:https://blog.csdn.net/m_nanle_xiaobudiu/article/details/80767545

需要注意的是,建议您根据需求同时购买存储包和下行流量包。如果您同时开通了cdn加速,建议再购买回源流量包。如果不购买流量包,产生的费用就有些大了(就像用手机时,我们也需要购买流量包一样)。

五、oss的使用

官方文档:https://help.aliyun.com/document_detail/31817.html

1、购买oss之后,进入控制台,点进oss

2、根据自己需求填写名称,以及选择区域

3、点击确定,进入下一界面,如下

到此,oss已经创建好了。现在,就可以使用了。

4、开始正式在网站使用oss对象存储服务

(1)首先,在oss控制台新建一个文件夹,用于存储网站的图片,然后向文件夹里上传几张图片。

5、这里,我新建了一个image文件夹,并向其中上传了6张图片。如图:

6、在网站中访问

d.php

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>Document</title>
</head>
<body>
<img src="http://hk-server.oss-cn-hongkong.aliyuncs.com/image/10005ad45c08b7a81.jpeg" alt="">
</body>
</html>

url访问:

到此,oss对象存储服务中存储的文件已经可以在网站中正常访问了。

注:要设置图片的访问权限(文件ACL),我这里为了演示效果,设置的是公共读。

7、在框架中应用oss服务

当然,前面的介绍只是简单的访问图片的url地址,然后进行访问,那么如何在框架中对整个oss进行一系列的增伤改查操作呢,这里以最基础的tp3为例。

在项目根目录(application目录的上一级)进行如下操作:

(1)配置国内composer镜像

composer config -g repo.packagist composer https://packagist.phpcomposer.com

(2)composer 安装 oss PHP sdk

composer require aliyuncs/oss-sdk-php

(3)下载之后目录结构是这样(其他框架大同小异)

(4)填写配置项

修改文件 /Application/Common/Conf/config.php

    'ALIOSS_CONFIG'         => array(
        'KEY_ID'        => '',    // 阿里云oss key_id
        'KEY_SECRET'    => '',    // 阿里云oss key_secret
        'END_POINT'     => '',    // 阿里云oss endpoint
    ),

(5)创建实例化函数

文件 /Application/Common/Common/function.php,如果不存在则新建。

#------------------------------- 代码待补 -------------------------------------#

遇到错误可参考 https://www.cnblogs.com/gengyi/p/6622819.html

总结:oss对象存储的好处有很多,官方文档都有介绍,这里不多赘述。

不仅降低了本地服务器io的消耗,也提高了获取资源的速度。理论上,相对于一个公司网站而言,成本也并不是很大,使用起来也是极其方便。最主要的安全。

个人建议不论是做个人站,还是公司网站,如果静态资源较多,完全可以将静态资源都放到oss对象存储中,也是进一步优化了网站访问速度。

当然,oss其实也是可以搭配cdn来使用的。

猜你喜欢

转载自blog.csdn.net/m_nanle_xiaobudiu/article/details/81230308