There are external resources (accessing available inventories through an API) that can only be accessed one thread at a time.
My problems are:
- NodeJS server handles requests concurrently, we might have multiple requests at the same time trying to reserve inventories.
- If I hit the inventory API concurrently, then it will return duplicate available inventories
- Therefore, I need to make sure that I am hitting the inventory API one thread at a time
- There is no way for me to change the inventory API (legacy), therefore I must find a way to synchronize my nodejs server.
Note:
- There is only one nodejs server, running one process, so I only need to synchronize the requests within that server
- Low traffic server running on express.js