全球第一视频平台Netflix与IPFS合作!

2020-02-22 13:54

经过十余年的厮杀博弈,目前在中国视频网站市场,生存下来三大佼佼者:爱奇艺、腾讯视频、优酷以及一位后来居上的搅局者:短视频社交平台——抖音。

其中爱奇艺,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标识的层。

推荐新闻