Edgio Logo

Edgio Blog

干货|Layer0 by Edgio基于CDN,不只是CDN

Edgio的Layer0将边缘逻辑集成到应用程序代码中以简化开发工作流程,并通过将边缘一直延伸到浏览器来提供亚秒级的页面加载。

在用户以95%的缓存命中率请求数据之前,Layer0预取并将数据流传输到浏览器中

CDN的工作是尽可能多地从边缘提供数据,并尽可能地接近用户。令人惊讶的是,对于一项已有二十多年历史的技术来说,今天的CDN在这两方面仍有改进的空间。为了提高团队的速度并释放出尽可能快的网站,开发团队必须重新思考如何将CDN植入他们的堆栈中。

尽可能多地从边缘提供数据

在大多数网站中,CDN被大量用于缓存静态数据。如图像、CSS和javascript等代码很很少更改且不依赖于应用程序逻辑。然而,动态数据或HTML和API数据很少被缓存。这是因为这些数据的可缓存性取决于应用程序的逻辑,而如今的CDN与开发者的工作流程脱节,导致团队难以使用、调试和维护。

通常情况下,开发团队有一个由前端代码、后端服务器和数据库组成的 “堆栈”。他们可以在本地进行开发,经历软件开发生命周期(例如 QA、暂存等)后生产上线。遗憾的是,CDN属于堆栈中没有经历该周期的一部分。CDN 仅在站点更改生效的最后才被引入软件开发过程。这对利用边缘来加速应用并不友好,在堆栈的其他部分(前端代码、服务器端代码或数据库架构),我们都不接受这种情况。

想象一下,你必须设计一个服务器代码变更,但被告知你只能针对生产进行开发——简直是强人所难。然而,这就是我们要求开发人员在涉及到边缘的时候所做的事情。鉴于网站中断的高风险和修改CDN配置的开销,这基本上意味着边缘的动态数据被忽略了。

相比之下,Layer0团队能够在整个开发过程中测试、审查和版本控制他们的边缘逻辑。因此,团队可以在本地进行边缘开发,并确保与应用程序代码相关的动态数据的高缓存命中率。此外,EdgeJS作为一种基于JavaScript的可执行、声明式、与框架无关的边缘配置语言,可进一步简化边缘管理。EdgeJS可以被嵌入到前端应用程序中,由于它是声明式的,所以开发者只需描述他们的目标,而不必写出所有的逻辑。这使得它易于使用和维护。

当CDN晋升为开发流程的“一等公民”时,不仅有更多的数据被缓存,而且开发团队敏捷性和效率大幅提升,网站性能更优越。

从尽可能靠近用户的边缘提供数据

除了尽可能多地从边缘提供数据外,CDN还需要尽可能快地提供数据。(虽然从技术上讲,他们需要以最低的延迟提供服务,但为了讨论的目的,我们将假设距离与延迟大致相关)。众所周知,CDN在地理上分布的一组缓存节点上缓存内容,被称为接入点(POPs)。

与其他CDN一样,Edgio Networks有许多POPs。事实上,Edgio在全球拥有超过135个POPs,是全球第二大POP网络。在Edgiot的Layer0上,这些POP超出了CDN的一般功能,并在彼此之间协调数据。如果一个POP没有某个数据,它就会从另一个POP那里请求该数据,甚至在请求被转发到源站服务器之前。

此外,Edgiot Networks在CDN中脱颖而出的是95+ Tbps吞吐容量和 100GbE专用光纤骨干网。在路由流量时,绕开拥挤的公共互联网,利用自己的专用网络使数据传输更快、更安全。

Layer0在此基础上使数据更贴近用户。得益于现代的浏览器技术,尤其是service worker (web worker的一种类型,本质上是一个与浏览器主线程分开运行的后台脚本文件,拦截和处理网络请求,缓存或从缓存中检索资源,并传递推送信息),我们的平台对用户设备上的缓存有直接的、程序化的控制。Layer0使用这种service worker技术,在用户提出要求之前,就把数据流传输到浏览器中。

这种技术通常被称为预测性预取(predictive prefetching),功能强大却往往伴随各种限制。一般情况下,改技术难以管理和维护,甚至可能因浏览器正在从源站请求更多数据,而导致服务器上的流量过大。这些额外的流量会增加成本,甚至会使原站服务器崩溃。然而,Layer0的集成预取性功能可以将用户的流量优先于预测的流量,并且理解EdgeJS的配置语言。这就保证了数据只从我们的PoP中流出,从而不会给原点服务器带来任何额外的负载。

Layer0的边缘平台:更好、更快、更强地构建网站

当所有这些技术结合在一起时,就仿佛网络突然拥有无限带宽和零延迟。动态数据不仅在PoP上被缓存,而且在用户请求之前就已经在设备上可用。页面的加载感觉是瞬时的,加载速度达到400毫秒——在眨眼的一瞬间。

电商网站的流量和收入更高,跳出率更低

独自完成所有这些工作可能很困难,更艰难的是大规模维护。Edgio创建Layer0旨在显着提高开发团队效率和所有网站的页面加载速度,尤其是以海量动态数据为主的网站。此外,对于那些使用现代框架的网站,EdgeJS已经内置了与React、Angular、Vue、Next.js等框架的集成,Layer0平台包括了你需要的一切,包括无服务器JavaScript。这使得大型动态网站能够利用Jamstack架构的开发者生产力、安全性和性能优势。而这些优势在不久前仅适用于静态网站。

联系我们.Contact Us

如需了解更多信息,请通过以下联系人联系我们,或在微信对话框中发送您的联系方式给我们,我们会尽快与您取得联系。

联系人:Simon Liu

联系邮箱:sliu@llnw.com

PRODUCTS