0

我有兴趣听到一些关于我必须解决的问题的想法。我有一个带有条目列表的 Web 应用程序,我需要为每个条目调用不同的 Web 服务(例如 twitter 和 youtube)以“解决”一个项目。问题是网络服务往往很慢,一旦我有多个条目,我最终会得到很长的响应时间。

所以我想到了几种方法。一个人会为每个条目做一个ajax调用,这意味着我最终会得到:条目*服务(eg2)。

另一个想法是使用 faye on rails 向服务器发送消息。所以理论上我可以并行发出多个请求,并在收到来自 web 服务的响应后立即将响应推送给客户端???

另一个想到的是 node js,但到目前为止我还没有使用 node.js 的经验

所以我期待着阅读任何想法和评论..

最好的,菲尔

4

1 回答 1

1

我在 node.js 上使用 Faye 来开发一个非常相似的应用程序,到目前为止我真的很喜欢它。当在浏览器中注册用户请求时,它会使用 Faye 向 Web 服务器发送一条消息。该消息导致一个动作,当它完成时,我向浏览器返回一条消息,让它知道发生了什么。

在处理第一个动作的同时,浏览器保持活动状态,用户可以简单地继续请求动作,浏览器继续简单地将它们发送到服务器,然后服务器对其进行操作。我可以在网络服务器上处理的同时请求的数量基本上只受我拥有的带宽和机器拥有的内存量的限制。

我使用 AJAX 做了一些原型工作,但发现它比我想要的要复杂一些,一旦我发现 Faye 以及它的设置和使用多么简单,我就被迷住了。我还检查了一个名为 socket.IO 的库,该库可用于可以绑定到 Rails 的节点(http://liamkaufman.com/blog/2012/02/25/adding_real-time_to_rails_with_socket.IO_nodejs_and_backbonejs_with_demo/),但它似乎更多比仅将 Faye 与 rails 一起使用要复杂得多。

给Faye一个好硬的样子,这就是我最终选择的,因为它的灵活性。我在 node.js express 服务器上用 Faye 进行了几天的压力测试,当我以编程方式以随机时间间隔连接和断开多个浏览器窗口时,它一直保持连接。简而言之,我现在没有理由担心它的可靠性。

另一件事是,谷歌上有一个很好的社区正在使用 Faye,上面有一些很好的 Q/A。另外,Faye 的作者在 google 论坛上直接回答了我关于干净关闭的问题之一,并与我进行了来回交流,所以当你有问题时,你会得到一些帮助。

于 2013-07-30T16:21:16.927 回答