我为我父亲运行这个网站,它从他的推特提要中提取推文并以另一种格式显示它们。目前,推文是使用 javascript 提取的,因此完全是客户端的。是最有效的做事方式吗?该网站几乎没有点击率,但我只是对扩展它的最佳方式感兴趣。任何建议都会很棒。我也在考虑在某个时候在信息流中包含文章。实现它的最佳方法是什么?
6 回答
Twitter API 请求的速率限制为每小时 150 个。如果您的页面请求超过此数量,您将收到来自 Twitter API 的错误(HTTP 400 错误)。因此,在服务器上请求推文并将响应缓存一段时间可能是一个更好的主意。您可以每小时最多请求 150 次最新的推文,并且任何时候请求您的页面时,它都会从您的服务器端脚本接收缓存的推文,而不是直接调用 API。
来自 Twitter 文档:
未经身份验证的呼叫允许每小时 150 个请求。未经身份验证的呼叫是根据发出请求的服务器或设备的面向公众的 IP 来衡量的。
我最近做了一些与 Twitter API 完全一样的工作。我们最终很快就达到了速率限制,即使只是在测试应用程序时也是如此。该应用程序现在确实在服务器上缓存推文,并且每小时更新几次缓存。
我建议使用客户端调用 Twitter API。避免调用您的服务器。使用客户端 js 的唯一缺点是您无法控制查看器是否会停用 js。
您想在信息流中加入什么样的文章?喜欢直接在您的网站上发布的博客文章或外部文章?
通过拉推文服务器端,您将通过您的服务器路由所有推文流量。因此,您的所有流量都来自您的服务器,可能会导致您网站的性能下降。
如果您不对客户端不可能的推文做任何魔术,我应该坚持使用您当前的解决方案。它没有任何问题,并且可以极大地扩展(当然,假设您的性能没有超过 Twitter 的服务器;))
就可扩展性而言,从客户端拉出你的推文肯定会更好。我不明白您在关于添加文章的第二个问题中要查找的内容
我想如果你能做到,客户端就去吧!它将带宽使用推送到浏览器。减少服务器上的负载。我认为它也是可扩展的。只要您的客户可以提出网络请求,他们就可以显示您的网站!没有比这更容易的了!您的服务器永远不会成为他们的瓶颈!
如果您可以通过 api 获取文章,我会坚持当前设置,保留所有客户端。
对于像这样需求量非常低的东西,这真的无关紧要。如果每个用户有大量任务,那么您可能需要考虑服务器端。如果您有大量用户,并且每个用户只有少数任务(要拉入的推文或其他),那么客户端 AJAX 可能是要走的路。至于您所包含的文章,由于您将使用的数据的大小,我可能会去服务器端。