2014-04-14 65 views
4

我有一个RESTful API,每周更新一次资源。也就是说,对于每个资源,我每周更新一次,并允许客户访问它。这是一个不断变化的计算器。RESTful API的CDN?

可能有10,000个资源,其中可能请求

是否有可能把这样的东西放在CDN后面?传统上CDN是用于不可否认的静态内容,即图像。我不确定我的情况在动态< - >静态。

干杯

+1

我们在谈论什么类型的资源?多大?如果每周只更改一次,你的情况非常不稳定。 – Devon

+0

好好控制缓存策略,你会好的@Max – Raptor

+0

GET请求返回XML和JSON文件 – Max

回答

0

我认为这是完全合理的把它后面的CDN,如果你认为你的内容将达到规模的适当水平。只要缓存控制标头设置为在缓存版本可能陈旧时加载最新内容,就没问题。

CDN的主要优势在于,当从各种不同来源请求资源时,因此siteY.com可以使用与siteX.com相同的资源缓存版本。你预计你的资源将被要求从各种不同的来源?

+0

我主要是需要它的地理邻近客户端,而不必部署到多个数据中心。负载本身不会很大,但低延迟很关键 – Max

1

90%的资源甚至可能不会被调用,如果它们是, 只会被调用几次。它不会是大量的重复呼叫。

就在您的评论中,您刚刚向我展示了CDN对您没有益处。

通常CDN的工作原理是第一次调用它从主服务器下载到区域CDN节点,然后传递到客户端,这意味着第一个GET没有任何改进。以下GET到相同的区域节点将有提高速度。如果您几乎没有重复呼叫,那么您将看不到任何明显的改进。

正如我在评论中所说的,对于小文件,客户端可能花费尽可能多的时间在DNS查找上,因为它们在下载时。查看全球DNS解决方案(如Anycast)以减少连接时间。这很容易设置,几乎不需要维护。

+0

谢谢。我一定会研究它。我们最大的问题是主机(英国)和客户端(AUS)之间的物理距离。平均500毫秒的延迟。但是,无法下载并缓存所选CDN节点上的所有请求吗? – Max

+1

这不是CDN通常的工作方式。新数据必须先由本地节点检索。所以这只会对后续请求有所帮助。区域CDN节点仅缓存数据一段时间以节省空间,否则,他们需要在每个位置存储大量数据。您可能可以预加载,我想这取决于CDN,但通常情况下它不会如何工作。也许你应该考虑在亚洲,澳大利亚或美国西部获得辅助服务器。 – Devon

+0

是的,我认为这是更好的选择.. – Max