I'm thinking about doing this: Setting up 2 mysql servers each replicating to the other (each a slave of the other). Code the connect/j connection creation to try one server on connect. If it fails, connect to the other server. Both servers are writeable, but my code is never talking to more than one server at a time. The one question I have here is this: DBX is replicating to DBY. DBY is replicating to DBX. If apps are writing to DBX and DBX fails, then apps will reconnect to DBY and continue writing. Is it possible that some writes from DBX haven't replicated to DBY, conflicting writes occur in DBY and when DBX is brought back online, DBY's slave SQL thread fails when it sees DBX's unpropagated writes? What are ways to get around this short of a DBA manually skipping the conflicts in DBY? Thanks