My application requires a lot of MySQL writes from two application servers. I want the data to be shared between the two servers, but I don't want to have a single point of failure. I tried setting up MySQL Master-Master replication, but it didn't work well for me: when one master went down and then restarted, it didn't know which transaction to start from and just failed. I need the servers to be able to recover and failover in unattended manner.
Should I try to setup a Cluster instead? Are there any products which automate (or simplify) the setup?