VOS学习笔记
一、VOS简介1、主要功能VOS主要用于帮助客户端上传对象到云存储(阿里的OSS及腾讯的云存储COS,阿里作为主,腾讯作为backup)。2、产品优势相比于用户自己直接上传到OSS或腾讯COS,VOS不仅提供了上传所需的SDK,还支持双机房双活,即在单机房故障时,支持自动域名切换来做双机房双活。3、双机房架构图在上传前,客户端APP调用其业务自己的后端服务,后端服务经由VKOS提供的...
一、VKOS简介
1、主要功能
VOS主要用于帮助客户端上传对象到云存储(阿里的OSS及腾讯的云存储COS,阿里作为主,腾讯作为backup)。
2、产品优势
相比于用户自己直接上传到OSS或腾讯COS,VOS不仅提供了上传所需的SDK,还支持双机房双活,即在单机房故障时,支持自动域名切换来做双机房双活。
3、双机房架构图
在上传前,客户端APP调用其业务自己的后端服务,后端服务经由VKOS提供的SDK去调用VKOS服务,获取阿里、腾讯的上传域名,每类资源其对应的域名都不同。
客户端APP在获取到上传域名时,进行上传,上传资源时不经由VKOS,直接对接阿里或腾讯的对象存储云服务。
若调用阿里的OSS上传失败,客户端SDK会自动调用腾讯的COS域名来进行上传,以此来实现双机房双活自动切换。
客户端上传成功后,会把上传成功回调结果(上传成功的文件地址)传给VKOS服务端,VKOS服务端将从该地址下载资源,并上传到另一个云如腾讯COS。
问题:VOS是双机房部署的吗?
4、资源类型
5、整体流程
1、用户端调用自己业务服务端来请求AccessToken;
2、业务服务端收到用户端请求后,通过服务端SDK从VOS服务端获取访问令牌(AccessToken)后返回给用户端;
3、用户端使用客户端SDK和AccessToken,将文件上传至原生的云存储;
4、用户端上传完成后,携带AccessToken参数请求至业务服务端接口,确认上传成功;
5、业务服务端通过SDK和AccessToken,从VOS服务端换取对象URL;
6、业务服务端执行后续处理,完成上传流程;
二、VKOS容灾方案
1、读高可用:双机房互备,自动切换来容灾
VKOS对每一类资源(如图片、音视频、文本)等都有自己的两个域名,每次上传完资源,都会返回一个与域名对应的资源地址,如(*.vipkidstatic.com/key或者*.vipkidresource.com/key),然后另一个域名作为备用域名,业务方在请求一个一个资源如出现4xx或5xx的时候,客户端SDK会自动切换到另一域名,以确保读请求高可用。
问题:这里还是七牛和阿里吗?是不是阿里和腾讯了?
2、写高可用
VKOS在上传文件时,会自动选择可用的云厂商(阿里OSS或腾讯COS):
例如,当上传资源到OSS,发现阿里的OSS的bucket不可用,这时会使用腾讯的access token (默认用户端会缓存阿里和腾讯的access token, 5分钟过期,过期后会重新经由VKOS获取可用的access token) 去访问腾讯。
3、VKOS双机房双活
VKOS目前部署了阿里和腾讯双机房:
当阿里机房故障时,可手动切换到腾讯机房。
JavaSDK 1.6支持自动切换域名,支持在客户端通过和服务端的心跳自动切换可用节点。(问题:这是说啥?)
三、当前主要问题
iPad端目前由于iOS权限等原因,尚未找到有效的自动切换双机房域名的方案。
更多推荐
所有评论(0)