我有一个Web应用程序,而不是匆忙构建,只是将我们的想法演示给选定的少数人。它需要更新的信息,所以我用jQuery和PHP使用快速和肮脏的短轮询技术将我们的演示放在一起。性能并不重要,因为在任何时候只有少数人访问此演示。需要建议转换我的应用程序,以允许实时更新
该应用程序基本上是一个实时队列,从一个Android应用程序提供项目。现在我有android发送POST数据到一个API添加一条记录到数据库。然后,我使用短轮询来保持队列在网络方面的更新(不理想,我知道)。
既然演示结束并且有很大的兴趣,我的任务就是这个应用程序必须能够扩展到我估计的每天大约2500个客户端连接(500家商店w /在未来一年左右的时间内,最多可连接5台浏览器)。
为了使这成为现实,我一直在阅读使这个应用程序实时以及使用长轮询技术(如Comet)的各种方法。我的脑袋现在有了各种各样的选择。我已经看过像Pusher这样的服务,但我们真的想尽量减少每月的成本,所以这只是最后的选择。 Node.js似乎是流行的选项,但这需要我重写我的整个应用程序,不是吗?
即使我确实使用类似Node.js的东西,但我对于如何处理来自android应用程序的传入POST数据并且让它更新数据库并将其发送到客户端浏览器感到失落。
实时队列只是Web应用程序的一部分,其余部分可以在不需要任何实时功能的情况下完成。如果我使用node.js,我可以在node.js中写入队列,并使用更传统的LAMP堆栈运行网站的其余部分?
我的确有控制商店中使用哪些浏览器的优势(Chrome),所以我并不需要担心传统的浏览器支持。
真的任何意见,可以引导我在正确的方向将不胜感激。看起来似乎有很多选项,但我不确定哪一个最适合我的情况。
研究使用网络套接字而不是“实时”数据的任何轮询。此外,请看看pubsub模式 - http://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern,因为您所描述的似乎适合模型。 –
像Ratchet这样的网络套接字解决方案能够很好地适应我的工作吗? – dmarzio
可能,但你必须测试才能确定。 –