我正在开发一个应用程序,其中(目前)桌面应用程序和网站运行“心跳”,检查数据库中的新命令。如果有许多用户同时从桌面应用程序和网站运行心跳,则服务器可能会很重。 (我们在同一台服务器上运行了几个应用程序)
现在我正在考虑将nodeJS作为网站和mysql数据库之间的通信方法。桌面应用程序仍将使用心跳来检查与网站相同的数据库(桌面应用程序是用C#编写的)。
在安全性,可靠性等方面,在nodeJS作为实时通信之前是否还有其他优先解决方案?
使用NodeJS而不是普通的javascript setInterval有什么缺点吗?
提前致谢/ H
答案 0 :(得分:0)
在安全性,可靠性等方面,在nodeJS作为实时通信之前是否还有其他优先解决方案?
Node.js是一个应用程序框架。概括所有Node.js应用程序的安全性,安全性和可靠性是不可能的。
我正在开发一个应用程序,其中(目前)桌面应用程序和网站运行“心跳”,检查数据库中的新命令。如果有许多用户同时从桌面应用程序和网站运行心跳,则服务器可能会很重。 (我们在同一台服务器上运行了几个应用程序)
Node.js并没有神奇地提高效率。这取决于您编写应用程序的方式。无论如何,听起来你的数据库无论如何都要承担大部分的负担,所以无论如何摆在前面都不会产生太大的影响。绝对不可能说出来......你必须经过测试才能找到答案。
使用NodeJS而不是普通的javascript setInterval有什么缺点吗?
这是一个非感性的问题。驾驶汽车而不是使用普通的油门踏板有什么好处吗?
听起来我应该问的问题是服务器和应用程序之间的协议。听起来您正在尝试定期轮询数据库以获取新命令。如果您可以提供帮助,我建议不这样做。为什么服务器不通知客户端是否有新的命令要运行?为此,除了可以由服务器应用程序和客户端应用程序使用的协议之外,您可能还需要一个发布/订阅系统(一个内置于Redis中,如果这样可以让您更轻松)。 Socket.IO可能是一个选择,但.NET library似乎已经停止。您可以通过TCP执行简单的行分隔JSON。