用于服务器到服务器通信的Node.js

我想知道node.js是否适合服务器端应用程序,但实际上并不是与浏览器通信,或者浏览器通信只是整个应用程序的一部分,而不是用于管理。

这个想法很简单:

  • 服务器通过包含来自其他服务器的用户数据的短消息接收大量的UDP流量。

  • 对于每个消息应用程序执行数据库查找并使用不在白名单上的userid过滤掉消息。

  • 过滤的消息将被处理,导致另一个数据库更新,或将数据发送到另一个服务器。

  • 这样的情况下,学习node.js是一个很好的场景,或者比起Java EE,它可能没有什么好处?


    免责声明:我为一家为node.js做贡献的公司工作,并提倡它的使用,所以我的意见可能有偏差。

    正如其他人在评论中提到的那样,node.js应该很适合你的场景。 它实际上是人们使用node.js最常见的场景之一 - 从(可能是多个)源获取数据,执行少量的CPU-light处理并发回响应或存储结果。 除非消息过滤非常昂贵,否则node.js实现可能会胜过J2EE版本。

    原因是Node.js针对服务器花费大部分时间等待的解决方案进行了大量优化。 等待客户端连接,等待数据库响应,等待光盘读取/写入,等待客户端读取响应等。

    J2EE正在采用多线程技术,在这种情况下,您有一个线程来处理每个请求,在这种情况下这是不理想的。 大多数线程正在等待,所以你没有得到并行运行大量代码的好处,但是你仍然必须付出上下文切换的代价和更高的内存使用。

    在参加node.js之前,我会考虑一件事情:您是否可以并允许将node.js部署到您的生产环境中? 转向新的平台会产生一些相关的成本,操作应用程序的人将不得不学习如何处理node.js应用程序。

    链接地址: http://www.djcxy.com/p/13535.html

    上一篇: Node.js for server to server communication

    下一篇: Gradle build errors with Android Studio