I am having trouble deciding on which option I should take to scale an app I’m building.
Searching around the web I have found the following options:
- Nginx/Haproxy balancing to scale horizontally (just like a plain web application)
- Meteorhacks cluster package to scale horizontally (my choice so far) and maybe vertically with the latest release of Arunoda for multiple core support.
- Phusion passenger (haven’t tried a deployment with it yet)
- Hosted solutions such as compose.io, mongodirector, mongolab and modulus
- DIY deployment
Currently I’m using DO to make my deployments but I’m wondering if using dedicated servers (ex. Hetzner) is a better option in the long term. Since I’m using meteorhacks:cluster (not the multicore setup) it makes sense to me that scaling horizontally with this option, the only problem I will have to face is mongo, please correct me if I’m wrong.
An other question is what if meteorhacks:cluster could use both options of having multiple instances on a multicore cpu and still balance between multiple server endpoints. Would that work?
And last but not least, what kind of mongo setup is considered futureproof for scaling a meteor application from 100 to 10000 concurrent user connections (considering 50-150kb publications/user)?
Thank you for taking the time to read this post, really looking forward for any suggestions and answers.