在實際應用中ipfs作為分布式存儲的代表,解決了存儲成本更低、訪問效率更高、存儲數據更安全等問題。更通俗的與傳統的http 相比,分布式存儲成本更低,採用內容尋址效率更高,碎片化存儲也更安全,不存在刪庫跑路的風險,分布式存儲數據也根本刪不掉。在技術上,ipfs 是一個集成了p2p 種子下載器,git 版本控制,和 cdn 內容分發等的分布式文件系統。
1)p2p-對等網絡,即對等計算機網絡。
是一種在點對點之間分配任務和工作負載的分布式應用架構,是對等計算模型在應用層形成的一種組網或網絡形式。其可以定義為:網絡的參與者共享他們所擁有的一部分硬體資源(處理能力、存儲能力、網絡連接能力、印表機等),這些共享資源通過網絡提供服務和內容,能被其它對等節點(peer)直接訪問而無需經過中間實體。在此網絡中的參與者既是資源、服務和內容的提供者(server),又是資源、服務和內容的獲取者(client)。
2)git 版本控制。
git 版本控制-git 是一個主流的版本控制產品。
linus 在 1991 年創建了開源的 linux,從此,linux 系統不斷發展,已經成為最大的伺服器系統軟體了。linus 雖然創建了 linux 的核心,但 linux 的壯大是靠全世界熱心的志願者參與的,這麼多人在世界各地為 linux 編寫代碼,那 linux 的代碼是如何管理的呢?
在 2002 年以前,世界各地的志願者把原始碼文件通過 diff 的方式發給 linus,然後由 linus本人通過手工方式合併代碼!你也許會想,為什麼 linus 不把 linux 代碼放到版本控制系統里呢?不是有 cvs、svn 這些免費的版本控制系統嗎?因為 linus 堅定地反對 cvs 和 svn,這些集中式的版本控制系統不但速度慢,而且必須聯網才能使用。有一些商用的版本控制系統,雖然比 cvs、svn 好用,但那是付費的,和 linux 的開源精神不符。
到 2002 年,linux 系統已經發展了十年了,代碼庫之大讓 linus 很難繼續通過手工方式管理了,社區的弟兄們也對這種方式表達了強烈不滿,於是 linus 選擇了一個商業的版本控制系統 bitkeeper,bitkeeper 的東家 bitmover 公司出於人道主義精神,授權 linux 社區免費使用這個版本控制系統。
安定團結的大好局面在 2005 年就被打破了,原因是 linux 社區牛人聚集,不免沾染了一些梁山好漢的江湖習氣。開發 samba 的 andrew 試圖破解 bitkeeper 的協議(這麼乾的其實也不只他一個),被 bitmover 公司發現了(監控工作做得不錯!),於是 bitmover公司怒了,要收回 linux 社區的免費使用權。linus 可以向 bitmover 公司道個歉,保證以後嚴格管教弟兄們,嗯,這是不可能的。實際情況是這樣的:linus 花了兩周時間自己用 c 寫了一個分布式版本控制系統,這就是 git!一個月之內,linux 系統的源碼已經由 git 管理了。
git 迅速成為最流行的分布式版本控制系統,尤其是 2008 年,github 網站上線了,它為開源項目免費提供 git 存儲,無數開源項目開始遷移至 github,包括 jquery,php,ruby 等等。歷史就是這麼偶然,如果不是當年 bitmover 公司威脅 linux 社區,可能現在我們就沒有免費而超級好用的 git 了。
ps:版本控制的英文名稱為(version control system),主要有以下幾個作用:
①記錄文件的所有歷史變化。
②錯誤恢復到某個歷史版本。
③多人協作開發編輯同一個文件。
3)cdn
cdn 的全稱是 content delivery network,即內容分髮網絡。
其基本思路是儘可能避開 網際網路上有可能影響數據傳輸速度和穩定性的瓶頸和環節,使內容傳輸得更快、更穩定。通 過在網絡各處放置節點伺服器所構成的在現有的網際網路基礎之上的一層智能虛擬網絡,cdn 系統能夠實時地根據網絡流量和各節點的連接、負載狀況以及到用戶的距離和響應時 間等綜合信息將用戶的請求重新導向離用戶最近的服務節點上。其目的是使用戶可就近取得 所需內容,解決 internet 網絡擁擠的狀況,提高用戶訪問網站的響應速度。
內容分髮網絡是一種新型網絡內容服務體系,其基於 ip 網絡而構建,基於內容訪問與應用的效率要求、質量要求和內容秩序而提供內 容的分發和服務。而從廣義的角度,cdn 代表了一種基於網絡而構建的高質量、高效率、 具有鮮明網絡秩序的網絡應用服務模式。
簡單地說,內容分髮網絡是一個經策略性部署的整體系統,包括分布式存儲、負載均衡、網 絡請求的重定向和內容管理 4 個要求,而內容管理和全局的網絡流量管理是 cdn 的核心所 在。通過用戶就近性和伺服器負載的判斷,cdn 確保內容以一種極為高效的方式為用戶的 請求提供服務。
總的來說,內容服務基於緩存伺服器,也稱作代理緩存,它位於網絡的邊緣,距用戶僅有" 一跳"之遙。同時,代理緩存是內容提供商源伺服器的一個透明鏡像。這樣的架構使得 cdn 服務提供商能夠代表他們客戶,即內容供應商,向最終用戶提供儘可能好的體驗,而這些用 戶是不能容忍請求響應時間有任何延遲的。
- 編程問答
- 答案列表
位址FS解決了什麼問題[朗讀]
加入收藏