Você não pode usar a replicação assíncrona em ambas as direções sem criar conflitos de replicação que são impossíveis de resolver e quebrar as coisas.
Portanto, sua escolha óbvia é usar a divisão de leitura/gravação - faça com que o aplicativo faça leituras não críticas de um banco de dados local (somente leitura) e direcione todas as gravações para o mestre. A desvantagem disso é que isso significa que você não pode ler imediatamente suas próprias gravações.
A replicação do MySQL não é perfeita e requer algum esforço para configurar e monitoramento contínuo para manter; você deve verificar frequentemente se os dados são os mesmos nos escravos. Algumas consultas são replicadas incorretamente; você precisará entendê-los e evitá-los.