We have developed a Python/Django app which we would like to distribute to clients, so they can run it locally (on a VM). We are doing this so they can still use the app if their internet connection dies, and it will just 're-sync' to the master database in our DC.
We were looking at MySQL/PostgreSQL replication, but they seem to have trouble with automatic failover, which is a must. Right now, we would have about 10-15 clients running this software locally, but we would like to be able to scale to much more. What is the best way of doing this (and with minimal code changes)?