如何用AI技术降噪? QCon 广州“音视频架构实践”专场给你答案! 了解详情
写点什么

PeerCDN:使用 WebRTC 构建基于浏览器的 P2P CDN

  • 2013 年 4 月 07 日
  • 本文字数:1455 字

    阅读完需:约 5 分钟

一组 Web 黑客构建了一个基于 P2P 的 CDN,能够借助于一些 JavaScript 代码在 Web 浏览器之间分发网站数据。该项目称为 PeerCDN ,它基于 WebRTC 这个新兴的技术构建。

PeerCDN 的官网是这样介绍该项目的:

PeerCDN 是一个对等的分布式 CDN,它能够让 Web 变得更快、更可靠,同时能够帮助网站降低带宽消耗。PeerCDN 会自动地通过网站当前访问者所建立起来的 P2P 网络为网站内的静态内容(图片、视频和文件下载)服务,降低 Web 主机的一部分负担,同时也减少网站访问者的带宽消耗。除此之外,它还具有以下优点:

  • 纯 JavaScript,非常快,也非常轻量级,使用它不需要安装任何浏览器插件。
  • 能够轻松地处理瞬间流量增长。访问量高的文件可以被对等节点快速有效地传递,而常规的 Web 服务器和传统的 CDN 则可以为长尾内容提供可靠的服务。
  • 广泛的浏览器支持。PeerCDN 利用 WebRTC 的数据通道在网站访问者之间建立对等的连接,Chrome 和夜间版 Firefox 已经实现了该数据通道协议,而根据 StatCounter 提供的数据,这两款浏览器一共占有全球 58% 的浏览器使用率。此外,IE 和 Safari 可能很快就会支持该协议。
  • 可以和传统的 CDN 一起工作。可以在需要提供更好的网站性能或需要减少服务器带宽使用率的情况下采用 PeerCDN。
  • 内置的安全性。PeerCDN 使用集中的资源认证服务器为网站资源生成 SHA1 哈希。对等节点提供的数据都会在确认安全性和原始性(内容未被篡改)的情况下才会被接受。同时,对等节点间的通信也是加密的。
  • 可靠性。如果对等节点慢或者中央 PeerCDN 服务器无法访问,那么网站就会按照正常方式加载。
  • 易于安装。我们的目标是易于复制、粘贴。只要在一个网站上粘贴一个 script 标签,网站马上就会变快,使用的带宽更少,更加弹性地处理瞬间流量。

为了解释 PeerCDN 的实现方式,该项目还制作了一个截屏视频。该视频首先介绍了PeerCDN 的一些优点;然后通过文件下载、视频和图片三个示例讲解了其工作方式;最后简要介绍了其安全性、浏览器支持和性能。

当然,对于该项目的前景还有一些不同的声音,有些人就在 HackNews 上提出了自己的疑问

这对网站很好,但是对移动或者有数据上限的用户而言就有问题了。移动用户和某些使用无线网络的情况下会有流量限制。

除此之外,有人提出了隐私问题,认为向其他的对等节点泄漏信息根本就不好,因为可以暗地里使用这些信息跟踪用户。同时在 2013 年,为所有类型的静态文件提供服务非常容易且成本低廉,所以大的视频可能是唯一的使用场景,而如果使用这种方式加载视频,需要大量的种子才能快速缓冲并播放。此外,还有存储这些内容需要占用用户多大的磁盘空间,是否会在当前页面上下文之外存储内容等问题。

Reddit 网站上也有人对该项目发表了自己的看法

人们并不想这样共享自己的带宽,特别是他们自己没有选择权的情况下。很多用户可能并不知道发生了什么,但是他们会发现自己访问网页时的速度变慢了。另外,现在人们通常会打开大量的标签页,但是他们并不希望一些忘记关闭的标签页占用大量的流量。

当然,也有人持肯定意见,认为互联网需要更多这样的技术。只有 ADSL 连接才存在人们所关心的带宽问题,但是对称访问连接(FttH)会越来越多,这将推动 P2P 协议向前发展。

如果你想了解社区中对该项目的相关讨论,可以打开新闻中给出的链接阅读更详细的信息。

PeerCDN 项目的开发者之一 Feross Aboukhadijeh 是一位著名的 HTML 5 开发者,他在最近构建了一个网站,能够自动地通过 GB 大小的猫图填满访问者的硬盘(可参考 InfoQ 中文站之前的报道)。在此之前,他还创建了一个名为 YTInstant 的 YouTube 搜索网站。

2013 年 4 月 07 日 21:378879
用户头像

发布了 321 篇内容, 共 109.6 次阅读, 收获喜欢 12 次。

关注

评论

发布
暂无评论
发现更多内容

Kafka 万亿级消息实践之资源组流量掉零故障排查分析

vivo互联网技术

大数据 kafka 监控

EfficientNet实战:tensorflow2.X版本,EfficientNetB0图像分类任务(小数据集)

AI浩

图像分类

Hyperspace索引系统论文解析

漫长的白日梦

spark 数据湖 索引系统

Swin Transformer实战: timm使用、Mixup、Cutout和评分一网打尽,图像分类任务

AI浩

还在为模型加速推理发愁吗?不如看看这篇吧。手把手教你把pytorch模型转化为TensorRT,加速推理

AI浩

如何评估服务是否内存泄漏了?

BUG侦探

缓存 容器 内存泄漏

MobileVIT实战:使用MobileVIT实现图像分类

AI浩

一文看懂博睿数据AIOps场景、算法和能力

博睿数据

AIOPS 智能运维 博睿数据

深度探索通过数据共享(data sharing)优化 Amazon Redshift 工作负载分解

亚马逊云科技 (Amazon Web Services)

数据 负载

开源集结令!参与开源之夏 EMQ 项目开发,赢最高 12000 元奖金

EMQ映云科技

开源 物联网 emq 开源之夏 5月月更

如何写好产品手册?

小炮

ResNet实战:单机多卡DDP方式、混合精度训练

AI浩

VIT实战总结:非常简单的VIT入门教程,一定不要错过

AI浩

如何为服务网格做端到端测试

Flomesh

测试 Service Mesh 服务网格

ABAP Code Inspector 的一些高级功能分享

Jerry Wang

编程语言 代码扫描 SAP abap 5月月更

架构学习(二)

爱晒太阳的大白

5月月更

跨平台应用开发进阶(十三) :uni-app应用异常退出时处理机制探究

No Silver Bullet

uni-app 5月月更 异常退出 处理机制

STM32F103系列开发_点亮LED灯

DS小龙哥

5月月更

HashMap 源码分析-新增

zarmnosaj

5月月更

中国信通院发布“可信开源”全景观察 成立三大开源产业组织

中国IDC圈

开源 开源治理

图像分类实战:mobilenetv2从训练到TensorRT部署(pytorch)

AI浩

OpenHarmony 3.1 Release版本特性解析——OpenHarmony硬件资源池化架构介绍

OpenHarmony开发者社区

OpenHarmony 多设备协同

BladeDISC 0.2.0更新发布

阿里云大数据AI技术

深度学习 存储 并行计算 异构计算 算法框架/工具

Linux环境封装静态库

Loken

音视频 5月月更

用IntelliJ IDEA ULTIMATE版看Java类图

程序员欣宸

Java IDEA 5月月更

数字化转型背景下,企业如何做好知识管理?

小炮

企业知识管理

数字孪生智慧物流之 Web GIS 地图应用

一只数据鲸鱼

GIS 数据可视化 智慧物流 数字孪生 三维仿真

面试突击50:单例模式有几种写法?

王磊

Java java面试

SWA实战:使用SWA进行微调,提高模型的泛化

AI浩

亚马逊云科技 2022 年 3 月新服务新功能强势来袭

亚马逊云科技 (Amazon Web Services)

服务 亚马逊

「云智公开课」百度沧海·存储

「云智公开课」百度沧海·存储

PeerCDN:使用WebRTC构建基于浏览器的P2P CDN_云计算_孙镜涛_InfoQ精选文章