我是否破坏了使用NodeJS / socket.io与我的AJAX脚本的好处?

我正在创build一个具有聊天function的应用程序,并且我决定使用NodeJS / socket.io。 我的项目也使用PHP,我想从我的应用程序中的数据存储在MySQL服务器。 这是目前发生的事情

socket.on(客户端连接) – > AJAX脚本,将新客户端的用户名添加到MySQL数据库(我想保留连接到MySQL聊天的用户列表)

任何人发送消息 – > AJAX脚本将该消息的时间戳版本放入MySQL数据库(聊天日志)

socket.off – > AJAX脚本从MySQL数据库中删除客户端

我使用这么多的AJAX,我毁了使用socket.io的好处? 据我的理解:我仍然得到了与socket.io的实时连接的好处,我的AJAX导致我的PHP服务器上的单独负载,但这些AJAX操作不应该中断或阻止节点。 但是,这将单独加载在PHP服务器减慢客户端socket.io连接? 我是Node / socket.io的新手,所以我可能会丢失一些关于后端操作的基本知识。

这不会毁了websocket,但显然这是服务器不必要的重载。 你为什么要使用AJAX? 为什么不直接从Node更新数据库?
这些AJAX调用将永久打到服务器,肯定会造成麻烦。 使用websocket(也是long-polling)的原因之一就是避免过多的负载。 如果PHP和Node.js都在同一台服务器上,过载会使两者都变慢。

当用户(又名套接字)连接/断开时,Node.js可以将该用户添加/删除到MySQL。 如果Node.js服务器位于不同的计算机上,请为该单独的服务器提供MySQL远程连接。
和消息一样,直接从Node.js脚本更新数据库。

这里有一个MySQL的Node驱动程序: https : //www.npmjs.org/package/mysql