NodeJS / ERP - 性能/可扩展性

NodeJS / ERP - Performance / Scalability

在我工作的公司, 我们计划更新和重新编码我们已有 12 年历史的在线销售 Web 应用程序。

我们的流量有点高;每天超过 100.000 个销售订单 意味着网络应用程序一天至少会有 100 万次交互。

我想使用 NodeJS 作为 Web 服务器,它将集成到我们在 Oracle Exadata 数据库上的 ERP 系统 运行。

我的问题是: 性能对我们来说非常非常关键,我不确定 NodeJS 是否具有足够的可扩展性来应对如此高的事务数。

我在互联网上阅读了一些博客,其中指出一些非常非常大的公司已经在使用 NodeJS, 但我不确定他们将其用作主要系统和 backbone 系统还是仅用于公司使用的一些较小的应用程序。

您能否分享您的经验,如果可能的话,包括交易数量在内的示例?

提前致谢!

你为什么要看 Node.js?您正在考虑哪些其他选择?为什么选择一个而不是另一个?您的团队拥有哪些专业知识?

Node.js 是相当可扩展的,前提是您知道自己在做什么。您的负载中有多少是中间层与数据库?如果中间层发生了很多事情,那么您需要能够水平扩展它。以下是一些需要考虑的高级事项:

  • 许多人使用 Docker 来容器化他们的应用程序并使用 Kubernetes 扩展它们(尽管这些不是 Node.js 特定的)。
  • 您可能想要了解 PM2 以保持您的 Node.js 进程 运行。
  • 使用 node-oracledb 连接池。
  • 为了安全和性能使用绑定变量。
  • 如果您使用的是 Kubernetes 并且每个容器都有自己的连接池,请考虑使用 DRCP。

考虑通读本指南以使用 Node.js 和 Oracle 数据库创建 REST API 以了解其工作原理: https://jsao.io/2018/03/creating-a-rest-api-with-node-js-and-oracle-database/