全球第一視頻平台Netflix與IPFS合作,IPFS應用……

山海達數據存儲 發佈 2020-02-22T23:33:52+00:00

經過十餘年的廝殺博弈,目前在中國視頻網站市場,生存下來三大佼佼者:愛奇藝、騰訊視頻、優酷以及一位後來居上的攪局者:短視頻社交平台——抖音。



經過十餘年的廝殺博弈,目前在中國視頻網站市場,生存下來三大佼佼者:愛奇藝、騰訊視頻、優酷以及一位後來居上的攪局者:短視頻社交平台——抖音。

其中愛奇藝,2018年3月在美國上市,如今市值接近180億美金。

不過,這僅是Netflix市值的十分之一左右。

提到Netflix,可能國內很多朋友並不熟知,但是一說《白夜追兇》這部讓潘粵明再度爆紅的我國首部硬漢派懸疑推理網劇,想必無人不知。

2017年11月30日,作為美國流媒體巨頭,世界最大的收費視頻網站,Netflix買下《白夜追兇》的播放權,這是Netflix首次買下中國內地網絡電視劇的版權,並在全球190多個國家和地區上線。

2018年10月,《財富》未來公司50強排行榜發布,Netflix排名第8。同年12月,世界品牌實驗室編制的《2018世界品牌500強》揭曉,Netflix排名第88。

2019年10月,Netflix位列2019福布斯全球數字經濟100強榜第46名,同時在Interbrand發布的全球品牌百強榜排名第65。

2020年1月22日,Netflix名列2020年《財富》全球最受讚賞公司榜單第16。

近日,IPFS官方對外公布,Netflix和IPFS正在緊密合作。


Netflix和IPFS的合作

去年6月27日,巴塞隆納夏令營(IPFS Camp 2019)之後,Netflix和IPFS開始著手合作開發一套工具,旨在利用IPFS點對點的技術方案來保存他們的視頻資源。


作為此次合作的一部分,IPFS官方在過去兩個季度中對Bitswap進行了重大改進。

Bitswap是什麼?

Bitswap是IPFS在兩個或更多對等節點之間傳輸文件片段的機制,是 IPFS 網絡中定義數據塊交換方式的協議,它是一個基於統一格式的消息對等協議。

能夠實現此次改進的一個關鍵因素是p2plab(一種由Netflix創建的性能基準測試工具,用於運行可重複的測試),使我們能夠確定和衡量改進。

我們特別關注的是Netflix想要解決的容器分發挑戰:如何在大規模,多區域環境中有效地提取容器圖像

圖像層通常位於不同的區域,利用IPFS作為點對點CDN,可以使Netflix基礎架構內的節點進行協作並將共同的種子播種到相鄰節點,從而有助於更快地分發容器。

為了進一步加快速度,官方在Bitswap協議中添加了一些有用的新功能,該功能將圍繞容器分發的基準用例的傳輸時間降低了一半。在以前版本的Bitswap中,平均需要花費9.08秒將300 MiB圖像拉到32個竊取點上。

經過優化的分支將這一時間縮短到3.16秒,比DockerHub(3.93秒)快20%!



Bitswap如何運作

IPFS將文件分成稱為塊的塊,由內容標識符(CID)標識。當運行Bitswap協議的節點要獲取文件時,它們會向其他對等方發送「請求列表」。「希望列表」是對等方想要接收或者阻止的CID列表。每個節點都記住其對等體想要的塊,並且每次節點接收到一個塊時,它都會檢查是否有任何對等體想要該塊並將其發送給他們。

為了找出哪些對等點具有構成文件的塊,Bitswap節點首先向其連接的所有對等點發送對根塊CID的需求。如果對等方沒有該塊,則該節點查詢分布式哈希表(DHT)來詢問誰擁有根塊。

任何使用根塊響應的對等方都將添加到會話中。從現在開始,Bitswap只向會話中的對等方發送請求,以免向網絡發送請求。

節點將每個CID的需求並行發送給會話中的多個對等方,因為並非所有對等方都會擁有所有塊。如果節點開始接收大量重複塊,則它將每個CID的需求發送給較少的對等方。如果該節點等待塊超時,它將向每個對等方發送每個CID的請求。這樣,節點嘗試在沒有太多重複塊的情況下保持較高的下載速度。


Bitswap改進了P2P圖像分發

為了提高Bitswap的性能和效率,IPFS團隊對Bitswap提取塊的方式進行了一些更改。

最初,一個節點想知道其哪個對等方具有根塊,但實際上並不想接收該塊本身(因為它向許多對等方發送了這個「發現」需求)。因此,一個新的變化是,當Bitswap發送請求時,它可以請求HAVE消息作為響應(而不是取回整個塊)。


一旦節點將對等方添加到會話中,它也可以使用這些HAVE消息來找出哪個會話對等方具有相對便宜的其餘塊,因為它不必擔心重複的塊。在此階段,節點還希望對等方說出它是否沒有該塊。因此,官方添加了一個DONT_HAVE響應。

通過這些更改,節點可以廉價地算出如何在其對等節點之間分配塊,並且可以更準確地定向對塊的請求,從而提高總體下載速度並減少重複塊的數量。

該節點還可以快速識別會話中的所有對等方何時沒有其需要的阻止,並向DHT找出誰擁有該阻止。

有關Bitswap之前如何工作(「主」)以及我們所做的更改(「 poc」)的更多詳細信息,請查看這些幻燈片,此IPFS每周電話會議的演示文稿以及最近的性能比較。






Netflix上的容器分發

Netflix開發人員會定期在Netflix容器管理平台 Titus上部署數百萬個容器。由於這些容器中有許多可以處理為Netflix提供支持的關鍵工作負載,因此通常需要將它們部署在世界各地的許多地區,以適應該地理位置的流量。

當開發人員將發布映像推送到生產環境時,該映像需要複製到其他區域的Docker註冊表中,否則部署將遭受跨區域數據成本和緩慢的傳輸速度的困擾。

docker註冊表旨在將「 alpine」之類的圖像引用以及通過內容尋址能力包含在圖像內部的數據分離開來。這與IPFS的數據模型並行,後者的數據始終由其CID表示。

實際上,這正是IPFS可以用作容器映像層的CDN的方式,因為可以修改容器運行時以檢索由其CID標識的層。

(本篇內容編輯整理自網絡,版權歸原作者,如有涉及侵權,違法,請聯繫我們,我們立即刪除,或對此進行說明)


關鍵字: