I want my meteor application to be available worldwide with optimal performance. For that I need to host in a few data centers across the world to minimize latency (just some example of latency based on your region - http://azurespeedtest.azurewebsites.net/) and improve bandwidth.
So to scale across multiple data centers you have 1 or 2 load balancers in each data center which routers to your meteor cluster in the same data center. For pointing the user to the correct geo based loadbalancer I was thinking about using amazons route53 for dns lookup based on the least latency. The problem comes in with mongodb. Ideally you want your meteor application and the db in the same data center. You can geo locate one of your replica sets at each data center (mongodb geo distributed replica set) and if meteor uses that mongodb instance for the read operation it will optimize read access. But how or will it be possible to configure it like that (maybe some dns routeing on the mongo url)? Write operations can only go to the master replica set and then there will be a delay again for when the data is available for read at other data centers again. How would you optimize this scenario?
It will be nice if it was possible to have multiple replica sets, each in a different data center next to your meteor cluster, and they are all replicated with each other. I got confused just writing that sentence so I need some help
Anyone with some ideas and/or experience with this? Maybe its not necessary at all and i am just over (or under) thinking it, how does meteor behave with mongodb not in the same data center?