2017-07-19 58 views
2

我有一大堆RSS提要,我需要每秒更新一次或更少。是否有任何解决方案,例如部分检查或更改,检查文件大小或修改RSS源以仅显示上一篇新闻文章以减少带宽?这个问题真的是通用的解决方案,但特定于RSS源,请随时添加我可能错过的另一个标签。RSS订阅1秒钟以内更新

+1

您是否提供并控制这些rss-feeds的来源?如果您尝试请求这种规模的数据,第三方可能会阻止您。 – Stefan

+0

@Stefan即使必须完成y 5秒以避免阻塞,这是可以忍受的,但由于需要一次加载和处理它们,所以绝对数量的RSS提要使得这种情况变得不可能。 – CodeCamper

+0

我们在谈论多少种饲料?你的服务器配置是什么?你的带宽是多少?您的解决方案是否可扩展? – Stefan

回答

0

不是一个真正的答案,而是需要长时间评论。

带宽

让我们做一些计算:一个典型的RSS提要可绕200kB的地方(图片除外)。每秒轮询1000次将需要200MB/s的带宽。这可以通过专业的互联网连接进行。但是,你需要一次连接多个连接,所以你需要一个多线程设置。如果处理时间需要很多CPU处理能力,这种设置最终会使它更容易在多台服务器上进行扩展。

请注意,这是没有图像。

看看这些规格并注意诸如skiphoursttl之类的东西。提供有关轮询服务的提示。

https://cyber.harvard.edu/rss/rss.html

处理

RSS项通常有一个pubDate,你可以用它来排除在你的处理流程的项目。这不应该是一个瓶颈。如果您将数据保存到数据库中,您可能需要深入了解以优化它。

潜在的问题

  • 阻塞由于过度调用饲料(尤其是如果他们使用的pubDate(我知道CNN倾向于这样做)请求的日期/时间内
  • Advertisments。
+0

是否有任何具体的例子或一般提示过度调用。每5秒钟或每小时或每天500次以上?好奇的是,如果我们知道任何这样做的热门网站,以及限制将会避免击中他们的限制。 – CodeCamper

+0

完全取决于Feed的所有者。我知道这并不能帮助你,而且使用限制很少容易访问。但是如果我们看看instagram(我知道,不是RSS提要),你会发现一个例子:https://www.instagram.com/developer/limits/ – Stefan