您的位置:首页 > 编程语言 > Java开发

【修真院java小课堂】简单介绍在项目中调用第三方OSS服务

2018-09-19 13:52 183 查看

大家好,我是IT修真院北京分院第34期学员,一枚正直善良的JAVA程序员。

今天给大家分享一下,修真院官网JAVA任务6中问题,为什么要使用MEMCACHE?MEMCACHE有什么作用?

一、背景介绍

图片上传的需求

我们在程序和项目开发过程中,不论是做web端还是APP,都会有图片上传的业务需求, 最典型的就是注册账号之后需要用户上传头像。
任务七中实现图片上传,主要使用jsp页面表单提交方式提交图片,controller接收实现图片上传,使用mutilpartfile来完成。 存储基本有两种形式,在数据库中直接存储blob类型的图片或者图片存储在服务器上并在数据库中存储访问的路径, 前端页面使用的时候直接引用链接。另一种是存在第三方Oss服务器,如阿里云oss和七牛oss等等,信息数据库只储存访问资源的链接。

 

什么是OSS?

OSS 对象存储(Object Storage Service,简称OSS),传统的物理存储 ----- 对象存储(云产品),云存储服务,具有海量、安全、高可用性、低成本的特性;按量缴费即可支持Restful API,弹性扩展、按需分配、只要用来存储图片、视频、文件等非结构化数据;支持任何类型的文件存储。

 

2.知识剖析

为什么使用第三方OSS而不是自建服务器?

自建服务器缺点:1、自建服务器可用性低;2、需自行研发备份策略,为达到同步可靠性需增加更多备份服务器成本;
3、自行部署,价格高昂;4、单线或双线接入速度慢,有带宽限制,峰值时期需人工扩容;
5、服务器存储受硬盘容量限制,需人工扩容;6、需招聘专职运维人员,花费大量人力成本;7、需硬件采购、机房托管、部署机器等工作,周期较长;

什么是api?
API (Application Programming Interface)翻译成中文就是"应用程式接口",软件系统不同组成部分衔接的约定。 操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的API 而使操作系统去执行应用程序的命令(动作)。 在同一个平台下的两个不同东西(程式 or 系统)沟通的桥梁。
API可以说是 "软件",是一个规范,或者说一个功能的调用/使用方式.

 

什么是sdk?
SDK (Software Development Kit)中文是"软体开发工具组",用来帮一个 产品、平台开发应用程式的工具组, 由产品的厂商提供给开发者使用的。辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。
SDK与API的联系在于,实际上SDK包含了API的定义,API定义一种能力,一种接口的规范。而SDK可以包含这种能力,包含这种规范。我们常常说,这个SDK具有某某些API可以用。

 

阿里云OSS服务
阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。您可以通过调用 API,在任何应用、任何时间、任何地点上传和下载数据,也可以通过 Web 控制台对数据进行简单的管理。OSS 适合存放任意类型的文件,适合各种网站、开发企业及开发者使用。按实际容量付费真正使您专注于核心业务。

 

3.常见问题

1、防盗链介绍
2、客户端直传oss和服务器中转上传oss比较。

3、如何做到使用两个第三方Oss服务并做到无缝切换。
           

 

4.解决方案

1、防盗链介绍         
首先是防止独有的资源被盗用,比如我有一个赛事的独家转播权,我肯定是希望所有人都来我的网站看直播,但是如果没有使用防盗链的话,别的网站就可以盗用我的链接放到自己的网站上,从而分流我的用户。再比如,有的大型图片网站,是将图片放到OSS服务器上储存的,如果出现了大量盗链,就会导致其OSS流量剧增,侵权不说还会使得成本剧增。
利用HTTP Referer。简言之,HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的。
            

2、客户端直传oss和服务器中转上传oss比较。           
1、流程上—少了一步转发。
2、架构上—走网站服务器,上传量过大的时候,瓶颈在网站服务器,采用表单上传后上传都是直接从客户端发送到oss,上传量过大时,压力在oss上,而不在网站服务器上

 

3、如何做到使用两个第三方Oss服务并做到无缝切换。

可以设计个通用接口,连个第三方Oss服务都是实现类。然后注册为xml文件中的bean。使用时可以直接在xml文件里修改调用。
       
            
            


            

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: