aws-samples / aws-samples/eb-node-express-sample
Increase resilience and simplify the implementation
- Dominant language
- EJS
- Stars
- 279
- Forks
- 247
- PR merge metrics
- No merged PRs in 30d
Description
I have a suggestion to improve the resilience and align a bit more with industry standards.
You should **not** be doing clustering in your code. I adds noise and is right now preventing the script from running unclustered. There are pretty sweet tools to manage your process, bring it back up when it crashes, monitor it and finally cluster it. Tools like [PM2](https://github.com/Unitech/pm2)
What I suggest is to:
- add the `pm2` dependency to the `package.json`
- remove the clustering logic from `app.js`
- change the `npm start` command for `pm2 start app.js -i max` where `max` can easily be changed to any number to define the number of clusters to make.
PM2 also has the advantage to be hookable for remote monitoring with almost no effort, which could be interesting for this project.
Cheers
Contributor guide
Research direction
Start by reading package.json and app.js to understand the current start command and clustering logic. Compare the requested PM2 setup with the existing process behavior, then verify that npm start launches the sample as specified and that clustering is no longer handled in app.js.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- express, node.js
- Domain
- backend, devops
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100