Day16 Object storage的meta data

Object的metadata可多可少,由於Lab只是一个小小的object storage示范,所以我们只会存放name, created time, version, hash, component location,然後存放的资料库我们使用redis,他是一个与主机分离的资料库,并且他是存在记忆体上的,存取速度非常快

关於object的hash,目的是确保独一无二的object,存在data server上的component我们都会以hash作为名字,这样就不会重复储存,至於怎麽hash,我们会对整个压缩後的object进行hash,使用的演算法是sha256,sha256有256^32种组合,虽然hash难免一定会进行碰撞,而碰撞的代价就是新object会把旧的覆盖掉,但是到目前为止,还没有人report sha256的碰撞

此外,为了防止上传过程中数据出了什麽意外,可能不小心被改了,所以前端的request也需要hash好再上传,重复确认数据的完整性

所以我们的架构将会如下所示
https://ithelp.ithome.com.tw/upload/images/20210916/20130271uoHd5AGeM3.jpg
下一篇会介绍Kafka和Redis这两个有名的middleware原理


<<:  【Day5】[资料结构]-堆叠Stack

>>:  前言:新手入门–忐忑不安的开始

Windows Event探索练习--开关机和Office的大小事件

今天要来研究一些常见的事件,来看看有那些东西会被系统纪录下来,他们的意义又是什麽。 笔者查了查发现不...

软件保证成熟度模型(SAMM)-安全冠军(Security Champion)

-SAMM 概述(来源:https : //owaspsamm.org) 软件保障成熟度模型(SA...

[神经机器翻译理论与实作] 从头建立英中文翻译器 (I)

前言 从今天起,我们将实地建立英文到中文的翻译神经网络,今天先从语料库到文本前处理开始。 翻译器建立...

使用Emmet省下泡一杯咖啡的时间(HTML篇)

使用Emmet省下泡一杯咖啡的时间 (HTML篇) 效率满点的好工具 为什麽而学? 前身是Zen c...

【Day 10】EC2 x EIP x 萝卜糕实例制作

tags: 铁人赛 DevOps EIP EC2 萝卜糕 概述 碎念时间 不论是开发软件硬体,还蛮常...