首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >云存储硬核技术内幕——(16) 一蓑烟雨任平生,明月千里共婵娟

云存储硬核技术内幕——(16) 一蓑烟雨任平生,明月千里共婵娟

作者头像
用户8289326
发布2022-08-04 15:36:17
发布2022-08-04 15:36:17
3160
举报

上期说到,子虚发现,块存储虽然存取效率非常高,但有着难以规避的弱点:

1、对部署环境要求高,需要网络时延在1ms以内;

2、由于1,难以实现数据跨AZ甚至跨Region同步;

3、难以实现数据的有效的版本管理;

4、成本高;

5、传输对加密的支持有缺陷;

子虚好不容易等到方老师跪舔完客户,回到深南大道10000号,赶紧跑到方老师的座位……

方老师正在看《云原生服务网格ISTIO》,笑着对子虚说:

去读苏轼的词……

宋代大文学家苏轼最有美感的两首词,一首是《定风波·莫听穿林打叶声》

竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生。

另一首是《水调歌头·明月几时有》:

“……人有悲欢离合,月有阴晴圆缺,此事古难全。但愿人长久,千里共婵娟。”

子虚反复品味了这几句词,突然领悟了!

对于静态网页元素、视频和图片等海量非结构化数据,用户的存储和访问需求为:

1、IP可达即可访问,对网络时延和抖动没有特别苛刻的要求;

2、支持异地(跨Region)数据同步;

3、支持文件的版本管理,对同一文件的不同版本可以进行归并;

4、降低成本;

5、支持加密传输;

6、可以从文件的任意位置开始读写;

也就是说,这种存储的访问,可以用苏轼的两句词形容:

一蓑烟雨任平生,明月千里共婵娟。

子虚猛然领悟,这说的不就是http/https协议吗?

http/https协议是基于TCP的。只要在IP可达的范围内,它就可以工作;

由于https是在TLS的基础上传输,因此无需额外的加密功能;

http的post(写)和get(读)方法都可以支持断点续传,可以从指定的偏移量上传/下载文件,因此,它可以很方便地实现从文件的任意位置开始读写。

对于文件版本管理的需求,我们可以在读写时通过http的传入参数带上文件的版本号解决;

由于http是基于TCP/IP的标准协议,它有着良好的兼容性,并不需要使用任何特殊开发的客户端,利用浏览器,或linux的curl命令,或在APP中利用标准的http API就可以访问。

对于这种方式访问的存储,我们叫它对象存储。

对象存储的先驱是Amazon Simple Storage Service,它具有以下特点:

每个用户可以创建自己的存储桶(Bucket),每个桶可以放入多个对象(Object),对象可以有多个版本(Version),如下图所示:

每个Object实际上是一个文件,比如:

CentOS-7-x86_64-Everything-1708.iso

再比如:

Maggie Jiang and Sword Bian [不倫][1080p].avi

显然,CentOS 不同版本的安装镜像,可以作为一个object的不同版本进行管理。

Amazon为对象存储制定了基于http的接口规范,叫做S3 (Simple Storage Service可以缩写为3个S),可以支持get(取),put(存),post(更新)和delete(删除)等不同方法。

也就是说,如果需要从对象存储池拉取一个文件,实际上对用户而言,与从http网站下载文件没有本质的区别,都是通过http/https的URL访问。

那么,当子虚开发的Web前端页面,需要推送给用户一些图片或视频等非结构化的文件的时候,把这些文件放到对象存储的bucket里面,并且在nginx一类的前端服务器端把URL重新定向为对象存储的URL就行了!

为了防止这些文件被篡改,子虚可以将对象存储设定为私有写公有读的权限,也可以在nginx上设定,只可以get这些文件,不可以对它们进行put, post和delete操作。

(这样一来,nginx实际上起到了API网关的作用,如kong为代表的API网关实际上就是基于nginx开发的)

AWS的S3规范实际上成为了对象存储的业界标准,在下一期中我们来详解一下,不然,程序媛们还是没有办法通过这个搞到对象……

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 帅云霓的技术小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档