大型网站架构--资源存储方案【阿里OSS存储服务】介绍及实现

大型网站架构中,资源存储是十分重要的,网站肯定会涉及到文件上传、图片上传等资源存储操作,而在网站用户量不断增长的同时,网站的资源存储也会越来越大的耗费服务器硬盘,一般架构会单独设立静态资源服务器,但是如果是电商网站架构初期,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 代码:

/**
* 上传logo
*/
@RequestMapping(value = "uploadLogo", method = RequestMethod.POST)
@ResponseBody
public String uploadLogo( @RequestParam(value = "logoFile", required = false) MultipartFile logoFile,
HttpServletRequest request, HttpServletResponse response) {
if (request instanceof MultipartHttpServletRequest) {
String logoUrl = null;
try {
OSSUtil ossUtil = new OSSUtil();
String name = ossUtil.uploadImg2Oss(logoFile);
logoUrl = ossUtil.getImgUrl(name);
ossUtil.destory();
return logoUrl;
} catch (Exception e) {
//e.printStackTrace();
return "";
}
}
else {
return "";
}
}

 

阿里云OSS工具类代码OSSUtil

图片上传成功后预览:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值