我一直在摆脱PHP/MySQL舒适区的原因是语法/封装/过程化的东西会让人感到沮丧。
上周,我开始玩耍并跟随一些教程使用Node.js / Socket.IO创建实时聊天应用程序。直到这一点,我从未做过任何与WebSockets相关的事情,它们看起来真的很酷--服务器和客户端之间的即时通信非常棒。
现在,请原谅我的理解不足,但HTTP被设置为不应该能够保持客户端和服务器之间的连接-而我对Comet的初步了解是通过永远不终止写入流并仅发送NUL字节来强制连接保持开放。这听起来...对服务器要求很高。
那么WebSockets如何工作呢?如果我的聊天应用同时有几百人参与,服务器不会负载过重吗?当我在服务器上使用PHP / MySQL时,服务器仅处理一个请求,如果我使用AJAX并轮询,例如每一秒钟,我想象它会很快升级,因为您将每分钟有成千上万个请求。
我的问题是,WebSockets是否可扩展到大型应用程序?没有一个真正高带宽的服务器是不是就没法实现呢?
我想问题归结为:在AJAX轮询,Comet和WebSockets之间,是否存在显着的服务器负载/用户体验差异?
谢谢!