iT邦幫忙

2021 iThome 鐵人賽

DAY 16
0
自我挑戰組

淺入淺出分散式儲存系列 第 16

Day16 Object storage的meta data

  • 分享至 

  • twitterImage
  •  

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原理


上一篇
Day15 負載均衡
下一篇
Day17 Middleware - Kafka & Redis
系列文
淺入淺出分散式儲存30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言