OSS 对象存储 架构模式

1. 类名解释

  • OssService : 对象存储业务定义接口,定义业务中使用Oss功能的方法定义。具体实现方法由实现类定义。
    • String getDownloadUrl(Long resourceId);
    • @param resourceId:业务资源id
    • @return 对应资源的下载地址
  • OssQiNiuService:对象存储业务定义实现方法,实现OssService接口定义的具体逻辑。
  • OssQiNiuBucketZoneEnum:对象存储空间位置,用来初始化OssQiNiu配置信息
    • huabei(“https://upload-z1.qiniup.com”)
    • huadong(“https://upload.qiniup.com”)
    • huanan(“https://upload-z2.qiniup.com”)
    • beimei(“https://upload-na0.qiniup.com”)
    • xinjiapo(“https://upload-as0.qiniup.com”)
  • OssBucketNameEnum:对象存储空间名称。
    • 限制空间名称
    • 抽象类型,分离服务提供商空间名称和业务中使用的空间名称
    • app jar APP_PACKAGE(“app-package”),
    • 车辆品牌,车型,车标,车系,车款等图片 CAR_PIC(“car-pic”),
    • 产品,商品,套餐图片 GOODS_PIC(“goods-pic”),
    • 工序工艺 PROCEDURE_PIC_VIDEO(“procedure-pic-video”),
    • 个人头像等图片 PROFILE_PIC(“profile-pic”),
    • 精检,精养拍照图片 SERVICE_PIC(“service-pic”),
    • 门店附件,供应商附件 STORE_ATTACH_PIC(“store-attach-pic”);
  • OssBucketInfo:对象存储信息
    • private String bucketName;真实的空间名称
    • private String domain;cdn域名
  • OssQiniuCallbackBody:对象存储七牛回调类
  • OssQiNiuCallbackUploadToken:对象存储七牛上传凭证类
  • OssQiNiuConfiguration:对象存储七牛配置类
    • private String accessKey/private String secretKey:密钥对
    • private String callbackUrl:回调地址
    • private Long expireSeconds:上传凭证有效时长
    • private Boolean dev:环境配置
    • private OssQiNiuBucketZoneEnum zone:存储空间位置
    • private String cnameDomainSuffix:cdn配置CNAME的后缀

2. 上传流程

  1. 客户端(PC、移动)请求业务服务器获取上传凭证
    1.1 接口:getQiniuCallbackUpToken
    1.1.1 入参:
  • OssBucketNameEnum bucketName:对象存储空间名称。
  • String originName:文件原名
  • String fops :资源预处理指令
    1.1.2 回参:
  • key:上传到七牛及保存到业务服务器上的资源名称
  • token:上传凭证
  • actualBucketName:上传到七牛存储空间的真实名称
  • uploadUrl:上传七牛存储空件的地域地址
  • url:资源访问地址
  1. 客户端携带token请求七牛服务器上传资源
  2. 七牛服务器回调业务服务器
  • 业务服务器保存资源元数据
  • 返回业务服务器生成的资源标识ResouceId
  1. 七牛服务器返回客户端信息,包含ResouceId但不限于。

3. 客户端上传调整

  • 请求业务服务器获取上传凭证阶段,之前传的是字符串。现在修改成枚举类型【OssBucketNameEnum bucketName】

4. 后端解耦逻辑

  • 七牛服务商
    • 配置dev
    • 配置zone
    • 配置cnameDomainSuffix
    • 增加initOssBucketInfoStore环境信息
  • 其他服务商
    • 实现OssService接口
    • 增加配置类
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值