- Data collection: This is a batch service that receives large amount REST data (expecting 20k request over few hours) when triggered. The trigger will happen once or twice a day.
- Pricing algorithm: This service will take the above data as input then price them. I'm expecting 100 req/sec at initial stage.
- Transaction: When a customer buys a new product, a webhook is received from payment provider then the database is updated.
- Admin: A back office service that will update less often. Here admin can set application parameters and able to get insights of the customers.
My current plan for the infrastructure is the following: - application server to host the above 4 NodeJS services using PM2 - routing using Nginx - ELB to loadbalance the app servers - Elasticache redis to queue the batch data - RDS DB for all services (both read and write) - GitActions for CI/CD - Monitoring using DataDog
Will the above infrastructure will be able to handle my requirements? Can it be improved?
My concern is- if there's a way to reliably reconnect if the data sync fails on 1st service?
PS: I have a time constraint too. So my team can't be trained to learn K8s for now.
Thank you all in advance.