Home Blogs Edgio的边缘函数
Applications

About The Author

Outline

在卓越的边缘提升您的绩效

想象一下能够在网络边缘运行JavaScript代码,靠近用户。 这正是Edge函数允许您执行的操作! 这些精巧的功能部署在网络中的每个接入点(POP)上,这意味着它们分布在全球战略位置并在其运营。 通过在这些POPS本地处理请求和响应,Edge功能可显著减少延迟,提高性能,并通过个性化内容和提高安全性增强用户体验。 通过在边缘处理身份验证和重定向等任务,您可以减少往返于原始服务器的次数,从而显著加快您的服务速度。

现在,让我们通过CDN-AS-Code更进一步。 将其视为通过代码管理内容交付网络(CDN)配置,就像基础设施即代码(IAC)的工作方式一样。 借助CDN-AS-Code,您可以在版本控制系统中存储CDN设置,使用CI/CD管道实现部署自动化,并确保所有阶段的环境一致。 这种方法简化了CDN管理,减少了错误,并允许对CDN行为进行动态,可编程控制。 结果如何? 高效,灵活和可靠的内容交付,可轻松扩展并增强您的整体服务。

Edgio提供功能强大的CDN即代码平台,将概念提升到一个新水平。 在Edgio平台中,您可以使用嵌入在应用程序代码中的文件(routes.[js|ts])中的EdgeJS定义CDN行为。 这种紧密集成利用源代码控制的优势实现轻松协作,并使CDN配置与Web应用程序的特定版本保持一致。 它确保CDN管理与开发工作流的其余部分一样简化和高效。

有关此内容的详细信息以及在我们的平台上设置您自己的站点,请访问CDN-AS-Code文档

随着我们基于JavaScript框架的网站现在部署在Edgio上,是时候设置Edge功能了。 在本文中,我们将探讨可以有效利用Edge函数的几个用例。 Edgio允许您通过CLI或直接在Edgio控制台中创建和管理Edge功能。 我们将首先探讨通过CLI部署Edge功能。

如果尚未安装Edgio CLI,请安装Edgio CLI。 在本示例中,我们已将NPM包管理器用于我们的项目–

npm i -g @edgio/cli@latest

更多信息可在此处找到-如何安装Edgio CLI

当您使用CLI (edgio init)初始化属性时,它会自动生成两个基本文件:routes.js和edgio.config.js。 但是,如果您的Web应用程序支持typescript并利用具有可用typescript实现的框架,我们的CLI将创建routes.ts而不是routes.js。

当传入请求与指定路由匹配时,EDGE功能将激活。 每个线路只能有一个边线函数。 如果有多个路由与一个请求匹配,则会触发分配给最后一个匹配路由的EDGE函数。

您可以在此处看到路线添加到route.ts文件中

edgio-edge-functions-routes

此代码片段使用.match()方法定义一个规则,以确定何时应该执行Edge函数。本质上,它检查传入请求是否满足特定条件,例如具有特定路径(“/”)并且不包含特定标头(” x-ef-request”设置为”true”)。如果满足这些条件,则关联的edge函数位于”./ edge-functions/redirectpage.js‘将被触发,可能会将请求重定向到另一个页面或执行其他指定操作。
有多种方法可以完成此操作,但实现此操作的一种方法如下所示:

edgio-edge-functions-redirects

根据查询参数”edgredirect“的值,上述代码将用户重定向到”/CAN “页面。 要进一步改进此功能,您可以结合基于位置的检查来自定义页面并增强用户体验。 例如,您可以根据用户所在国家/地区以不同语言显示页面,从而增强用户体验。

edgio-edge-functions-lang-redirect

部署代码后,您可以通过在CLI中执行–edgio dev在本地测试此更改,并确认EDGE函数是否按预期执行。

edgio-edge-functions-execute

当准备好在Edgio平台上部署时,只需运行–
edgio部署–property=<属性名称>–organization=<组织名称>

成功部署后,您会发现路由逻辑已无缝集成到规则部分。

所有相应的功能都将存储在Edge Functions (边缘功能)部分:

当然,您也可以直接在控制台中创建这些Edge功能。

edgio-edge-functions-cache-control

在此示例中,我们创建了一个函数以确保忽略源站缓存控制指令,并将响应存储在缓存中10分钟。 指向同一路径的后续获取请求将在指定的持续时间内从高速缓存中处理。

创建Edge函数后,您将继续在控制台中设置触发此函数的规则。

edgio-edge-functions-console

控制台还提供了一个仪表板,提供特定时间范围的关键见解,显示函数调用的频率,执行持续时间,每个函数的内存分配以及处理每个请求所花费的总时间。

edgio-edge-functions-dashboard-stats

这些只是展示Edge函数功能的少数简单示例。 Edgio支持各种各样的用例,每种用例都是为常见挑战量身定制的实用解决方案。 这些示例旨在轻松地将边缘功能集成到您的项目中,从而简化流程并增强应用程序的功能。

从安全地与AWS服务交互到无缝集成来自多个源的内容,操纵HTTP标头和优化JSON响应,Edge功能使开发人员能够高效地应对各种挑战。 无论是使用Optimizely根据实验配置定制响应,还是使用等候室功能管理高峰时段的流量,Edge Functions都能为增强Web应用程序提供一系列实用的解决方案。

总之,Edgio的Edge功能彻底改变了您优化Web应用程序的方式。 通过启用JavaScript代码在网络边缘运行,更靠近用户,您可以解锁各种可能性。 通过我们直观的CLI和控制台,管理和部署边缘功能变得无缝,让您可以灵活地精确定制CDN行为。

随着您深入了解Edge功能,您将发现大量用例。 从使用AWS请求签名增强安全性到通过内容拼接和基于语言的重定向打造个性化用户体验,无限可能。 借助我们的仪表板提供的见解,您可以清楚地了解每个功能对应用程序性能和用户交互的影响。

我们只在这里划伤了表面。 我们的文档为充分利用Edge功能提供了全面的指导。 浏览各种各样的示例和教程,并利用Edgio Edge功能的敏捷性,效率和可靠性为您的应用程序提供支持。 让我们一起塑造Web开发的未来。

浏览我们的V7平台文档