我正在ZF2中开发一个大型PHP应用程序,我需要在这个应用程序中进行实时交互,所以我选择了websocket。 我有PHP,Mysql,Memcached。我需要一个websocket服务器。什么是最好的选择。 我的websocket服务器的要求:
我的问题是从PHP(扳手)websocket服务器或基于Node.js(socket.io)的服务器中选择。 我应该选择哪个?
如果我使用PHP,我可以使用PHP代码和ZF2功能,因此易于开发,但我没有非html5浏览器支持(我在这里有ssl支持吗?)
如果我使用socket.io我有所有浏览器支持和后备,但在这里我需要重新编写所有函数(在js中)以使用mysql,memcached等等...
答案 0 :(得分:2)
WaterSpout Server声称提供WebSocket或Long-Polling连接: https://github.com/chrisnetonline/WaterSpout-Server
所以这可能是适用于所有浏览器的解决方案。
所有解决方案均可扩展。问题确实存在;您想多久开始考虑缩放?您希望何时垂直扩展并向服务器添加其他资源?您何时想要添加另一台服务器(水平扩展)并处理这些服务器之间的同步连接和状态信息?恕我直言,您将通过PHP解决方案尽快完成此任务。
如果你主要想用PHP编写代码而你更喜欢保持简单,那么我建议你使用hosted realtime service作为应用程序堆栈的一部分。
一些相关帖子(我写的 ):
答案 1 :(得分:0)
我推荐Node.js,因为PHP不是应用程序的最佳解决方案,它必须长时间保留在内存中(PHP泄漏内存)。
http://software-gunslinger.tumblr.com/post/47131406821/php-is-meant-to-die
我确信有很多可重复使用的Node模块,你不要重新发明自行车。
当然,如果它对您有用,您可以使用一些基于PHP的守护进程并在一段时间内重启它以在一定程度上控制它的稳定性。