30天系列,手把手教大家用python寫出一個簡單的分散式Object storage儲存系統,除了程式實作之外,還有理論知識喔!以後在電腦或伺服器上存資料不再傻傻分不清楚了
我們的第一個Lab就從Simple object system開始,程式碼我放在這 https://github.com/kaichiachen/python-...
儲存領域有個重要的定理 - CAP定理,C(Consistency一致性)A(Availability可用性)P(Partition分割),三個最多只能滿足兩個...
接下來我們就要進入Lab2的環節了,我們不會只像Lab只實作了簡單的單機儲存系統,我們會有API層、data層、心跳機制等等,下圖給出了我們的大致的架構 今天先...
Data層的任務主要是儲存Object的component,保證資料的安全,他和API層一樣也有API, Data層的API的實作在這 https://gith...
負載均衡是分布式系統不可或缺的技術,從字面上來說,就是不可能所有事都給一台電腦做,電腦的CPU和記憶體是有上限的,所以需要一台機器作為指揮官把任務loading...
Object的metadata可多可少,由於Lab只是一個小小的object storage示範,所以我們只會存放name, created time, ver...
Kafka 簡單來說,我們可以稱後端和後端之間溝通的橋樑稱為Middleware,就如我們的Lab,API層與Data層溝通的橋樑,我們使用的是Kafka這種單...
Object的metadata讓我們能快速定位Object在什麼地方、屬性等等,可以理解為類似資料庫的index,在我們的Lab,我們的metaddata會存放...
本篇我們會分兩部分 - 校驗和去重 前面講到的Metadata,如果有了Metadata,我們可以做到上述兩個部分,這能為儲存系統節省許多空間 校驗 我們的校驗...
接下來談談資料冗余的策略 最簡單最好管理的冗余就是完完全全的複製一份在別的地方,就是我們經常說的備份,把重要的資料備份進去隨身硬碟 雲端的儲存也會用同樣的方法,...