進入IPFS的存儲世界

進入IPFS的存儲世界

IPFS - 星際文件系統非常適合以分散的方式存儲數據,它是在區塊鏈空間中存儲數據的最常用工具之一。在區塊鏈中存儲數據價格昂貴、速度又慢,而在IPFS中存儲是免費的,同時速度又非常快。因為在IPFS中,不允許通過哈希存儲重複的數據,如果有哈希重複的數據,將會返回相同的哈希。

IPFS目前來看,運行的非常好。在IPFS上添加的數據,將保留在全球的節點網絡中。任何擁有哈希的人都可以訪問數據(注意:除非你使用的是私有IPFS節點,否則IPFS上的所有數據都是公開的),並且不會有重複的數據。此時,你可能會問:“我可不可以通過IPFS更改完全分散的數據庫?”

雖然IPFS非常適合存儲數據,但如果IPFS節點出現故障,它並不能完全保證數據可以使用。例如:“啟動IPFS節點運行了一個月,在其中存儲有非常重要的數據,但是你的機器壞了。這個時候你會感到非常的慶幸,因為IPFS是一個公開的網絡,所以你認為其他人會存有你的數據。” 其實不完全是這樣,IPFS從不保證你的數據一直可用。因為如果其他節點對你存儲的數據不感興趣的話,就不會有人存儲。在這樣的情況下,數據就會丟失,因為你的數據沒有存儲在其它節點上(在Filecoin沒有出現時)。

這就是Filecoin之所以出現的原因。通過Filecoin Token激勵其他節點,存儲過去不感興趣的數據。以防IPFS私有的節點出現故障,避免私人數據丟失,同時會收取少量費用。Filecoin非常的棒,但目前還沒有上線...... Filecoin正在開發中。

在Filecoin出現之前,我們必須通過當前方案解決問題,其中包括:

  1. 運行多個IPFS節點
  2. 備份〜/ .ipfs文件夾
  3. 運行IPFS集群
  4. 使用其他方式

當然還有有更多的解決方案,在這裡我主要想談的是Ipfs集群。

Ipfs-cluster(IPFS集群)允許運行多個節點,每個節點都會複製數據,並通過使用RAFT共識使每一個節點保持同步。

那麼,保持系統安全需要多少個節點?

一般情況下,單獨的節點可能會出現斷網掉線的問題。假設我們有t個節點,則需要至少t + 1個節點保持系統運行。簡單來說: 它只是意味著,即使所有其他節點都關閉,也應該至少有一個節點處於正常的運行的狀態。因此,如果你認為有5個節點的情況下,不會出現同時關閉的風險,那麼你的風險因子t為4。

IPFS集群使用IPFS節點存儲數據,並且構建在標準IPFS之上。這意味著,使用集群不會存在運行不同的IPFS節點;而是在使用IPFS時,將運行的完全相同的節點。IPFS集群有一個代理節點,用於存儲所有pin請求,得以實現RAFT算法(基於Leader的方法)。

其思想是,將與處理同步和備份的IPFS群集代理節點進行交互,以便你可以將其視為IPFS節點。IPFS-集群節點在彼此之間交換消息,例如:確定哈希的請求、或發送消息以瞭解節點是否已關閉。這種方法的最大優點之一是,一旦節點恢復,它就可以收到遺漏的所有消息,並立即更新。

進入IPFS的存儲世界

圖1 IPFS集群架構

雖然,IPFS在很多方面都非常好(甚至還有回購),但它也存在一些問題。隨著IPFS連接的節點越來越多,在內存使用方面會非常緊張 - 另外包括它消耗的帶寬量!對於IPFS節點來說,1 GB的內存是不夠用的,而一旦IPFS守護進程使用的內存超過1GB,操作系統(Ubuntu)就會對他進行Killed(銷燬)。最終,你看到的指示所有內容都將被“Killed”,這聽起來是毀滅性的。如果你的應用程序全天依賴於IPFS運行,那麼你需要一臺具有更多內存和帶寬容量的設備。當然, 關於這個問題還有其他的解決方案。(注意:這是IPFS節點,而不是IPFS群集的問題)

守護進程(daemon)是一類在後臺運行的特殊進程,用於執行特定的系統任務。很多守護進程在系統引導的時候啟動,並且一直運行直到系統關閉。另一些只在需要的時候才啟動,完成任務後就自動結束。

限制IPFS連接的節點數量,是解決這個問題方法,這個可以通過以下兩種方式完成:

1、手動:通過更改配置文件,禁用MDNS發現、或將間隔設置得很高(不推薦,這樣基本上將你的節點與網絡的其餘部分隔離。並且存在一個問題,其他IPFS節點,從你的節點獲取內容的可能性將變得非常低)。

2、通過使用IPFS連接管理器來限制節點建立的連接數。這有三個屬性:

  • 最大連接數:節點允許的最大連接數,然後開始刪除連接。
  • 最小連接數:節點將嘗試維護的最小連接數。
  • 間隔:檢查最大和最小約束的時間量,例如:如果它是一分鐘,那麼您的節點每分鐘將確保Min≤對等體數量(ipfs群集對等體|wc-l)≤Max連接 。

(本文由Ali Azam發表於國外博客,經由Filecoin中國社區翻譯整理)

更多諮詢點擊“瞭解更多”,添加 ipfsxiaomishu 進入IPFS社群交流。



分享到:


相關文章: