提问者:小点点

NodeJS/ERP-性能/可伸缩性


在我工作的公司,我们计划更新和重新编码我们12年的在线销售网络应用程序。

我们的客流量有点高;每天超过10万个销售订单意味着在web应用程序上每天至少有100万个交互。

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

我的问题是:性能对我们来说是非常非常关键的,我不确定NodeJS的可伸缩性是否足以应付如此高的事务数。

我在网上读了一些博客,上面说一些非常非常大的公司已经在使用NodeJS,但是我不确定他们是把它作为主干系统还是只用于公司使用的一些较小的应用。

你能分享你的经验吗,如果可能的话,用包括交易计数在内的例子?

提前道谢!


共1个答案

匿名用户

你为什么看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/