minio之对象存储常用访问链路介绍

一、前言说明

本文主要介绍客户端(web,android,ios,小程序),服务端,对象存储端,三端的数据流链路。其中对象存储端不仅仅适用私有部署的minio,还适用公有云的对象存储,如阿里云,腾讯云,七牛云等云厂商提供的对象存储服务。

二、标准的对象存储互联网访问链路(推荐)

minio之对象存储常用访问链路介绍_第1张图片

上传步骤介绍

1、客户端请求上传文件
2、业务系统调用对象存储获取临时凭证
3、对象存储返回临时凭证
4、业务系统将临时凭证返给客户端,一般还会附带上传的路径
5、客户端依靠临时凭证上传文件
6、上传完成后,对象存储应答客户端
7、客户端上传完成对象后,应答服务端。该步骤一般是调用业务操作接口 

下载步骤介绍

8、客户端根据业务情况请求服务端
9、服务端从数据库拿到对象存储path后,调用对象存储,生成临时访问路径
10、对象存储服务器返回临时访问路径给业务服务器(一般有有效期限制)
11、业务服务端将临时访问路径返给客户端
12、客户端使用临时路径访问数据(过期之后图片将不能再访问)

三、对象存储写的变种访问(数据流经业务系统)

minio之对象存储常用访问链路介绍_第2张图片

上传链路介绍

1、客户端将对象数据流和业务字段一起提交到业务系统
2、业务系统调用对象存储服务存储数据,
3、对象存储服务返回存储完成
4、业务系统响应客户端
(说明:1到2之间,或者3到4直接,业务系统要处理自己的业务,如保存数据库等操作)

优缺点分析

优点:
1、整体业务链看着变简单了,比较好直观的理解
2、对象存储服务器不用直接暴露公网写(这点在很多公司比较看中)
缺点:
1、业务接口中混合了对象流的传输,架构上形成耦合
2、数据流会在内网中被拷贝传输一次
3、在高并发场景,业务系统会因为处理数据流而成为瓶颈

四、对象存储读的变种访问(不设读访问权限,公有读)

 minio之对象存储常用访问链路介绍_第3张图片

读取链路分析 

1、客户端请求业务系统,正常的业务查询
2、业务系统返回查询的数据给客户端,一般会包含对象的绝对访问地址
3、客户端使用绝对地址对对象存储服务器读取存储数据

优缺点分析

优点:
1、对于图片等对象数据,直接一个绝对地址即可访问,使用简单
2、读阶段业务系统与对象存储服务器完全解耦
缺点:
1、对象数据保密性较差,任何人拿到这个绝对地址都能访问
备注:
这种访问的选择视情况而定,要根据自己的业务情况来定

五、其他访问的变种形式

1、读的时候由业务系统转数据流给客户端

2、对象存储的读写皆不设置权限(公有读,公有写),这种只适合内网环境的对象存在,不适合应用在公网。因为是公有写,如果应用在公网,可以匿名写,那就是漏洞。

你可能感兴趣的:(minio,前端,对象存储,访问链路)