【发布时间】:2015-09-30 00:49:08
【问题描述】:
我是 Web 开发的初学者 - 我正在构建一个需要用户输入一些条目的网站,对这些条目进行一些复杂的数学处理,然后将结果返回给客户端。我正在考虑在另一个更适合此类工作的单独应用程序中实现数学东西(例如在 Java 或 C++ 中,那里有很好的数学库,并且实现会更健壮和更快)。我想知道在架构方面最好的方法是什么。
“虚拟”方法是从 Node.js 应用程序生成一个进程并等待其从 stdout 输出,解析它(可能是 JSON),然后在将结果发送到客户端之前对其进行处理。我很难相信这是最好的方法(它似乎太容易出错,没有适当的错误处理,依赖于输出,只是简单的坏习惯)。更好的方法是让 Java 或 C++ 应用程序侦听特定端口并等待来自 Node.js 应用程序的请求。然而,这需要在负载平衡方面进行更多思考(它如何随请求数量扩展?)。最后,我在网上找到的最后一种方法是使用 RabbitMQ 等排队系统作为 Node.js 应用程序和 Java 应用程序之间的通信方式。
通常(在“传统”软件中),实现一个单独的库来保存我们可以调用的所有数学魔法将是一个不错的方法。
使用 Node.js/web 应用程序实现这一目标的最佳方法是什么?必须有针对此类问题的良好实践/模型/架构/设计。谢谢!
【问题讨论】:
-
看看这个mathjs.org 或许你可以绕过外部的“数学应用程序”,在 Node.js 中做所有事情,但我不知道你要做什么数学。
标签: javascript node.js web-services web