I have a Play! Application which runs off a MySQL database. I have one back-end VM and two front-end nodes. Currently I have an extra VM which acts as proxy and MySQL server.
Step 1: I would like the nodes run with their own MySQL server (mainly so I can put them in the three different data centres of my provider). What is the best way to do this with MySQL? If I do a normal Master-Slave setup it will offload the read requests from the Master so they don't have to travel a 'distance' but all the write requests still do. Ideally I would like all read/write request to be done on the local MySql daemon and then replicated assn. (which brings me to 2).
Step 2: In some occasions I need to run this system in a place with poor internet coverage (i.e. no internet and sometimes a mobile connection). In this situation I would like to be able to run a setup of the system which will fully run (read/write) and will (re)synchronise when there is a internet connection.
In the later I know that this could potentially cause synchronisation issues, but for the moment I ignore that of possible (they are not that important as the data entered on location is generally different from what is used on the internet).
This is a relatively small application, so I am looking for a relative simple solution. The problem is that users subscribe on the internet, and that this information needs to be available on site and needs to be completed etc.
Any suggestions would be very welcome.