大型网站架构中,资源存储是十分重要的,网站肯定会涉及到文件上传、图片上传等资源存储操作,而在网站用户量不断增长的同时,网站的资源存储也会越来越大的耗费服务器硬盘,一般架构会单独设立静态资源服务器,但是如果是电商网站架构初期,T级别的服务器也是非常昂贵的,就此阿里看到了商机,把自己用于淘宝的资源存储oss方案用于商用,用户可以注册购买oss服务,然后通过调用阿里oss api将自己的静态资源存储到oss上。
阿里oss产品介绍:
阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。您可以通过调用 API,在任何应用、任何时间、任何地点上传和下载数据,也可以通过 Web 控制台对数据进行简单的管理。OSS 适合存放任意类型的文件,适合各种网站、开发企业及开发者使用。
OSS与自建存储对比
对比项
|
对象存储OSS
|
自建服务器存储
|
---|---|---|
可靠性 | - 服务可用性不低于99.9%。 - 规模自动扩展,不影响对外服务。 - 数据持久性不低于99.99999999%。 - 数据自动多重冗余备份。 | - 受限于硬件可靠性,易出问题,一旦出现磁盘坏道,容易出现不可逆转的数据丢失。 - 人工数据恢复困难、耗时、耗力。 |
安全 | - 提供企业级多层次安全防护。 - 多用户资源隔离机制,支持异地容灾机制。 - 提供多种鉴权和授权机制及白名单、防盗链、主子账号功能。 | - 需要另外购买清洗和黑洞设备。 - 需要单独实现安全机制。 |
成本 | - 最低只需要0.14元/GB/月,每月还送免费额度。 - 多线BGP骨干网络,无带宽限制,上行流量免费。 - 无需运维人员与托管费用,0成本运维。 | - 存储受硬盘容量限制,需人工扩容。 - 单线或双线接入速度慢,有带宽限制,峰值时期需人工扩容。 - 需专人运维,成本高。 |
数据处理能力 | - 提供图片处理、音视频转码、内容加速分发、鉴黄服务、归档服务等多种数据增值服务,并不断丰富中。 | - 需要额外采购,单独部署。 |
方便、快捷的使用方式
- 提供标准的RESTful API接口、丰富的SDK包、客户端工具、控制台。您可以像使用文件一样方便地上传、下载、检索、管理用于Web网站或者移动应用的海量数据。
- 不限文件数量和大小。您可以根据所需存储量无限扩展存储空间,解决了传统硬件存储扩容问题。
- 支持流式写入和读出。特别适合视频等大文件的边写边读业务场景。
- 支持数据生命周期管理。您可以自定义将到期数据批量删除或者转入到低成本的归档服务。
强大、灵活的安全机制
- 灵活的鉴权,授权机制。提供STS和URL鉴权和授权机制,以及白名单、防盗链、主子账号功能。
- 提供用户级别资源隔离机制和多集群同步机制(可选)。
丰富、强大的增值服务
- 图片处理:支持jpg、png、bmp、gif、webp、tiff等多种图片格式的转换,以及缩略图、剪裁、水印、缩放等多种操作。
- 音视频转码:提供高质量、高速并行的音视频转码能力,让您的音视频文件轻松应对各种终端设备。
- 内容加速分发:OSS作为源站,搭配CDN进行加速分发,具有稳定、无回源带宽限制、性价比高、一键配置的特点。
下面讲一下上传调用OSS:
模拟需求:
信息维护,可以修改信息,其中包括两项图片处理:1.公众号二维码图片上传。 2.logo上传。
前台页面代码:
springmvc 代码:
/** |
---|
阿里云OSS工具类代码OSSUtil
图片上传成功后预览: