当前位置:首页 > 行业动态 > 正文

什么是Coral CDN?它如何改变内容传输?

CoralCDN是一种基于P2P技术的Web内容分发网络,其核心机制包括分布式松散哈希表(DSHT)、层次化的节点集群和Coral DNS服务器及HTTP代理。通过优化查找路径和存储方式,提高了系统的效率和可靠性。

CoralCDN是一种基于P2P方式的Web内容分发网络(Content Delivery Network),也被称为Content Distributed Network,以下是关于CoralCDN的详细介绍:

什么是Coral CDN?它如何改变内容传输?  第1张

工作机制

1、DHT网络

CoralCDN采用一种扩展的DHT(分布式哈希表)方式,称为DSHT(分布式松散哈希表),旨在解决DHT覆盖网中的局部性问题。

在Coral中,所有overlay中的节点会根据网络状况进行评估,并按照RTT(往返时延)自然划分为几个等级,默认为三级:L2(<20ms)、L1(<60ms)和L0(剩余的所有节点)。

完整的NodeID节点空间由SHA-1生成的160bit组成,但在查找和放置时,优先在L2上的节点进行DHT查找,若找不到合适的节点,则依次在L1层和L0层中查找。

2、组成部分

Coral DNS Server (dnssrv):负责解析coralize URL,并返回Proxy的IP地址,这些proxies位于一个合适的cluster(即L2、L1、L0层)中,同时确保来自相同client的DNS请求不会离开这个cluster。

Coral Http Proxy (CoralProxy):设计主要考虑低延迟、高系统吞吐以及减轻源服务器负载,每个CoralProxy都尽可能“拉”网页来,如果client请求的URL不在本地cache中,则它们会在Coral中查找,并在DSHT中插入references告知系统自己有这个cache。

3、存储方式

Coral采用Sloppy Storage方式,据称这种方式减少了hot-spot和tree saturation现象,在存储过程中,有两个阶段:“forward”和“reverse”,forward”操作失败,client会稍微回退一点,把这个值放到次远的节点上。

4、层次式操作

Coral中的层次式操作意味着首先在RTT小的Cluster中进行查找和插入,如果失败,则转入下一层中,为了实现这种层次式操作方式,每次Coral RPC都需要返回发送者的Cluster信息。

代码量

Coral是用14,000行C++编写的。

dnssrv有2,000行代码。

HttpProxy有4,000行代码。

CoralCDN通过其独特的DHT网络、DNS服务器和Http代理组件,以及Sloppy Storage和层次式操作方式,提供了一种基于P2P的内容分发解决方案,尽管它可能不如谷歌等大型CDN快,但它是免费的,并且对于需要快速加载网站及其JavaScript组件的场景来说,是一个值得考虑的选择,需要注意的是,在使用外部CDN托管自定义JavaScript文件时,可能存在安全风险。

小伙伴们,上文介绍了“coral cdn”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。

0