Search code examples
node.jsperformanceerp

NodeJS / ERP - Performance / Scalability


In the company I work for, we plan to renew and re-code our 12 years old , online sales web application.

Our traffic is a bit high ; over 100.000 sales orders a day means there will be at least 1 million interactions for a day on the web application.

I'm want to use NodeJS as web the server which will be integrated to our ERP system running on Oracle Exadata database.

My question is : Performance is Very Very critical for us, I'm not sure NodeJS is scalable enough for this high transaction count.

I've read some blogs on internet which states some very very big companies uses NodeJS already, but I'm not sure they use it as main & backbone system or only for some smaller applications in corporate usage.

Can you share your experiences , if possible with examples including transaction count ?

Thanks in advance !


Solution

  • Why are you looking at Node.js? What other options are you considering? Why choose one over the other? What expertise does your team have?

    Node.js is quite scalable, provided you know what you're doing. How much of your load is mid-tier vs database? If there's a lot going on in the mid-tier, then you need to be able to scale it out horizontally. Here are a few high-level things to consider:

    • Many people use Docker to containerize their apps and scale them out with Kubernetes (though those aren't Node.js specific).
    • You'll likely want to learn about PM2 to keep your Node.js processes running.
    • Use node-oracledb connection pools.
    • Use bind variables for security and performance.
    • Look into using DRCP if you are using Kubernetes and each container has it's own connection pool.

    Consider looking through this guide to creating a REST API with Node.js and Oracle Database to get an idea of how things work: https://jsao.io/2018/03/creating-a-rest-api-with-node-js-and-oracle-database/