内容交付网络可以快速有效地向用户提供内容 但它们并不总是最佳选择

虞盛璧
导读 内容分发网络(CDN)是一种通过提供缓存在附近服务器上的数据来加速访问用户屏幕或设备的绝佳方式。当用户访问支持CDN的网站时,他们可以显著

内容分发网络(CDN)是一种通过提供缓存在附近服务器上的数据来加速访问用户屏幕或设备的绝佳方式。当用户访问支持CDN的网站时,他们可以显著提高加载速度,也可以改善用户体验。

CDN是数据基础设施架构师的完美解决方案,他们特别希望减少任何带宽浪费,并确保有效利用资源。顶级CDN具有实时可扩展性和最小化网络延迟的能力。这意味着用户可以在最短的时间内接收数据,最小化丢包,以最佳的方式消耗资源。

通常,通过缓存和前端优化可以确保更快的响应时间。我相信CDN在所有内容情况下都非常有用。然而,CDN不一定是在所有情况下优化性能的最佳方式。

典型的CDN依赖于遍布全球的多个节点。站点的缓存内容存储在这些节点上。当来自特定地理区域的用户访问您的站点时,他们将提供来自最近节点的缓存内容。距离的缩短意味着往返时间的减少,用户在最短的时间内收到内容。类似地,如果您的站点倾向于接收巨大的流量负载或峰值,分布式网络拓扑可以防止过度的带宽消耗。

从表面上看,CDN似乎是任何类型内容的非常有用的工具。然而,这并不总是有益的,尤其是当您有排除分布式基础设施的特定需求时。这里有一些例子。

中等用户群

如果你有一个庞大而多样的用户群,部署CDN是有意义的。但是,如果你的用户基数很小,有针对性和特定性,那么采用其他方法来提升用户体验可能会更好。如果您的基础结构只为少数用户服务(例如,供组织内部使用的Intranet),或者如果您的用户群非常小,则此功能尤其适用。

一种替代方法是实现延迟加载,将最少量的内容下载到用户的屏幕上,从而使用户能够立即访问内容。代替其余的,保留临时占位符。当用户移动到内容的其余部分时,占位符将被实际内容填充。这种技术确保了基本元素立即提供给用户,其余内容按需加载。其结果是智能的带宽消耗、最小的页面加载速度和由于速度提高而改善的用户体验。

极度本地化的用户群

CDN最突出的优势之一就是可以加快向全球用户提供内容的速度。但是,如果你的目标是位于给定地理区域的用户的内容,那么使用CDN可能没有太大意义。这方面的一个例子是,如果你运行一个学校或大学网站,你最好提供对内部基础设施的访问,特别是如果用户将从附近访问。

对于这样集中的用户群体,可以尝试其他方式来提升用户体验。比如你可以尝试在你的网站上实现预取。预取本质上是取出用户接下来将访问的组件。例如,如果您在图库中显示一幅图像,用户很可能会点击下一幅图像。因此,预取在用户点击之前在用户侧加载下一个图像,从而在用户到达时立即渲染。这极大地改善了客户端的感知加载时间。

和复杂的治理需求。

如果您的组织处理敏感的用户数据,很明显,您将有一个复杂的治理协议来不惜一切代价保护用户数据。这可能包括主权要求,即数据应保存在某个国家的实际管辖范围内。在这种情况下,可能不适合部署CDN,因为这意味着数据可以缓存在管辖范围以外国家的服务器上,这可能违反主权要求。

结论

在大多数情况下,CDN仍然是提高网站速度和可靠性的好方法。现代基于云的CDN还将提供一层安全功能,包括充当基于流量的攻击的前线,以及通过充当反向代理来实现负载平衡。

因此,尽管您可能无法在极端本地化的场景中享受CDN的最重要优势,但部署此类服务将在许多其他情况下产生显著改善。

标签:

免责声明:本文由用户上传,如有侵权请联系删除!