aws-samples / aws-samples/eb-node-express-sample

Increase resilience and simplify the implementation

Open
#4 0 comments 1 reaction 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.