Como outras pessoas mencionaram, o que você está falando é replicação multimestre. Existem várias ferramentas de código aberto disponíveis, como Maatkit ou MMM para ajudar com a replicação multi-mestre, mas mesmo com estes você ainda está pedindo por um mundo de mágoa.
Gostaria de ter certeza de que você realmente precisa que suas gravações aconteçam de forma síncrona (ou seja, instantaneamente). Se você puder ter um par de segundos a um minuto de defasagem entre quando um usuário realiza uma ação no site e os dados são inseridos ou atualizados nos bancos de dados, eu consideraria a configuração de algum tipo de processo de log off-line. Por exemplo, onde quer que você tenha a instrução insert / update, coloque algo que grava em um arquivo - ou em um banco de dados de memória se você não conseguir gravar em disco - e tenha algum processo / daemon em sua web cabeça (s), lê o arquivo de log e grava os dados apropriados em um único mestre; que então o replica para a outra máquina com carga balanceada.
Tome isso pelo que vale a pena, embora b / c Eu nunca precisei ativamente manter a replicação multimestre.