A method for providing three-way failover for a database server group
includes identifying a master server failure or a master server shutdown,
designating a first replication server as a new master server, and
copying data from a second replication server to a new replication server
while the first replication server functions as the new master server.
The method also includes receiving new data at the server group and
saving the new data at the new master server, saving the new data in a
queue at the second replication server until the set of data stored on
the second replication server has been copied to the new replication
server, and reading the new data saved in the queue and applying the new
data to the second replication server after the set of data has been
copied to the new replication server.