现代 Web 应用依赖动态内容、API、身份验证会话,以及实时交互。虽然 CDN 缓存可以加速可缓存内容,但许多应用请求仍然需要传输到源站。
Web 应用加速通过优化请求和响应在用户、应用基础设施,以及某些架构中的分布式边缘网络之间的传输方式,提升应用性能。相关技术包括缓存、智能路由、连接优化、协议优化、负载均衡,以及其他旨在降低延迟、提升响应速度的方法。
由于 Web 应用加速并不是一个定义完全统一的产品类别,不同技术可能针对应用技术栈的不同层面解决性能问题。本指南将介绍 Web 应用加速这一更广泛的概念,并重点深入探讨边缘与网络加速,即如何优化用户、分布式边缘基础设施与应用源站之间的流量传输。
什么是 Web 应用加速?
Web 应用加速是一系列用于提升 Web 应用速度和可靠性的技术。具体采用哪种方式,取决于应用延迟出现在哪个环节。
对于可缓存内容,可以将响应存储在更靠近用户的位置,这样后续请求便无需访问应用源站。
对于无法直接通过缓存响应的动态请求或个性化请求,加速技术可以转而优化用户与应用基础设施之间的通信。相关技术包括智能路由、持久连接或连接复用、传输优化,以及协议优化。
因此,Web 应用加速的目标并不局限于更快地传输文件。它还可以改善登录、搜索、交易、仪表板,以及 API 调用等应用交互的性能。
Web 应用加速如何工作?
Web 应用加速可以部署在技术栈的不同层面。在边缘和网络层,常见技术包括缓存、路由优化、连接复用,以及协议优化。
边缘缓存
边缘节点可以将可缓存内容存储在更靠近用户的位置,从而减少回源请求,在降低延迟的同时减轻源站负载。
动态内容加速
动态内容或个性化内容并不总是能够缓存,因为响应结果可能取决于具体用户、应用状态,或实时数据。与完全从边缘节点响应这些请求相比,加速平台可以优化边缘节点与应用源站之间的通信。持久连接、连接复用,以及传输优化可以减少不必要的网络往返和连接建立开销。当用户距离应用基础设施较远,且网络往返时间会显著影响响应速度时,动态内容加速尤其有用。
智能路由与网络优化
互联网流量并不总是沿着最快或最可靠的路径传输。网络拥塞、丢包、对等互联,以及其他网络状况都可能影响应用性能。智能路由可以根据网络状况,在用户、边缘节点与源站之间选择效率更高的传输路径。对于需要为多个地区用户提供服务的应用而言,这项能力尤其有用。
连接与协议优化
反复建立和管理网络连接所产生的额外开销,同样会影响应用性能。持久连接、连接复用、连接池,以及传输或协议优化等技术,可以减少不必要的连接建立开销和网络往返次数。
API 加速
现代应用往往高度依赖 API,而一次用户交互就可能触发多个 API 请求。优化路由、选择性缓存、连接复用,以及边缘处理有助于降低 API 延迟,对于服务覆盖多个不同地理市场的应用尤其有效。
Web 应用加速与 CDN 有什么区别?
CDN 与 Web 应用加速在功能上存在重叠,但两者并不能简单划等号。
| 传统 CDN | Web 应用加速 | |
|---|---|---|
| 主要用途 | 更快地交付缓存内容 | 提升应用交互性能 |
| 静态内容 | 核心应用场景 | 支持 |
| 动态内容 | 因平台而异 | 核心关注点 |
| API | 现代平台支持 | 常见优化对象 |
| 回源流量 | 因平台而异 | 重点优化对象 |
| 路由优化 | 因平台而异 | 常见能力 |
| 更适用于 | 内容密集型网站 | 动态、交互式应用 |
随着现代 CDN 平台加入动态内容交付、智能路由、边缘计算,以及应用服务等能力,两者之间的界限也在逐渐模糊。如果现有 CDN 已经能够有效优化动态流量和回源流量,则可能无需额外部署独立的加速产品。
不过,如果静态内容的性能表现良好,但登录、搜索、交易、仪表板,或 API 仍然较慢,尤其是对于距离源站较远的用户,则可以考虑评估额外的应用加速方案。
什么时候需要 Web 应用加速?
当延迟问题出现在基础静态内容交付之外的环节时,Web 应用加速最具价值。
常见场景包括:
- 用户距离应用源站较远;
- 动态请求或个性化请求响应缓慢;
- API 流量对延迟高度敏感;
- 不同地区之间的应用性能表现不一致;
- 登录、搜索、结账,或仪表板请求等频繁访问源站的交互;
- 应用性能受到互联网路由变化或网络状况影响。
通过缓存和分布式交付,加速技术还可以减轻源站负载。
不过,应用加速无法解决所有性能问题。如果瓶颈主要来自低效的应用代码、缓慢的数据库查询,或浏览器端渲染,则需要在相应层面进行优化。
Web 应用加速工具与技术类型
由于应用性能可能受到不同层面的影响,多种类型的技术都可以用于提升 Web 应用性能。
选择合适方案的第一步,是确定性能瓶颈出现在哪个环节。
| 类型 | 主要作用 | 代表性示例 |
|---|---|---|
| 边缘与网络应用加速 | 通过边缘交付、优化路由、缓存,以及连接或协议优化,提升静态、动态、API 及回源流量的性能 | • CDNetworks 动态加速 • Akamai Ion • Cloudflare Argo Smart Routing • Fastly CDN |
| 应用交付控制器 (ADC) 与负载均衡器 | 分发应用流量,并管理四层 (L4) 或七层 (L7) 连接 | • F5 BIG-IP • NGINX Plus |
| 缓存与反向代理技术 | 减少对应用基础设施的重复请求或后端重复处理 | • Varnish • NGINX 缓存 • Redis |
这些技术都可以提升应用性能,但它们作用于不同层面,无法直接相互替代。监控和测试工具也有助于定位性能瓶颈,但不会直接对应用流量进行加速。
CDNetworks 如何支持 Web 应用加速
CDNetworks 在边缘和网络层提供 Web 应用加速能力。在这一层面,地理距离、互联网路由状况、连接开销,以及频繁的回源流量都可能影响应用性能。
CDNetworks 动态加速
CDNetworks 动态加速(Dynamic Web Acceleration) 专为加速 Web 应用,以及静态和动态 Web 流量而设计。它将分布式边缘交付与智能路由、连接优化,以及协议优化相结合,从而改善用户与应用源站之间的通信,其中包括无法直接通过缓存响应的动态请求和个性化请求。
CDNetworks 企业应用加速:TCP 和 UDP 应用加速
Web 应用加速只是更广泛的应用加速体系中的一部分。一些应用依赖不可缓存的 TCP 或 UDP 流量,而非传统的基于 HTTP 的 Web 交付。针对这类工作负载,CDNetworks 企业应用加速(E-Optimize) 通过智能路由和传输层优化等技术支持 TCP 和 UDP 流量。
这些能力相结合,使 CDNetworks 能够在边缘和网络层优化 Web 应用及更广泛应用流量的性能。当地理距离、互联网网络波动、丢包,或与应用源站之间的频繁通信显著增加延迟时,这些能力尤其适用。
常见问题
什么是 Web 应用加速器?
Web 应用加速器利用缓存、优化路由、连接优化、协议优化、负载均衡,或边缘交付等技术降低延迟,并提升 Web 应用性能。根据所采用的技术,其加速范围可以涵盖静态内容,以及动态、个性化、API 和回源流量。
哪些 Web 应用加速工具最好?
最合适的工具取决于应用延迟出现在哪个环节。CDNetworks 动态加速等边缘与网络加速平台侧重于跨分布式网络的应用交付。F5 BIG-IP 或 NGINX Plus 等 ADC 主要用于流量分发和连接管理,而 Varnish 或 Redis 等技术则通过其他层面的缓存来提升性能。这些方案可以相互配合,不应被视为可以直接互相替代。
Web 应用加速和 CDN 是一回事吗?
不一定。传统 CDN 缓存主要侧重于从边缘节点交付可缓存内容,而 Web 应用加速还会针对动态、个性化、API,以及回源流量进行优化。现代 CDN 平台正在逐步整合这两类能力,因此二者之间的区别取决于具体平台。
已经使用 CDN,还需要 Web 应用加速吗?
这取决于现有 CDN 具备哪些能力,以及应用延迟具体出现在哪个环节。如果静态资源加载速度很快,但 API 调用、登录、搜索、结账流程、仪表板,或其他动态交互仍然较慢,尤其是对于距离应用源站较远的用户,则额外的应用加速可能会有所帮助。
