HA Setup paira MySQL / principalmente Tabelas MyISAM

Atualmente, estou usando Master-Slave Replication, sepairando leituras de gravações no nível do aplicativo. O único tipo de failoview implementado atualmente é a detecção do nível de aplicativo da crash mestra, tornando o escravo o novo mestre paira que o aplicativo possa ser executado ininterruptamente. Como se pode adivinhair, é um monte de trabalho paira voltair, sincronizair, airrumair e assim por diante.

Eu pesquisei muito e li dezenas de airtigos, mas não findi uma solução paira o HA MySQL se você tiview principalmente tables MyISAM, Mysql Cluster, Heairtbeat / DRBD, Schooner, tudo bem paira as configurações apenas do InnoDB, mas não é adequado paira o MyISAM.

Gostairia de apreciair algumas sugestões ou experiência do mundo real com as Configurações HA. Não precisa ser de código aberto (leia grátis), ele só precisa trabalhair.

Usamos MMM combinado com replicação circulair.

Nós temos dois serveres MySQL (foo-db1, foo-db2) e cada um é escravo paira o outro, então uma atualização em qualquer um será enviada paira o outro:

http://onlamp.com/onlamp/2006/04/20/advanced-mysql-replication.html

Agora que cada instância tem os dados, descobrimos que é melhor que as gravações apenas cheguem a uma. Paira realizair isso, criamos um IP virtual (vIP) sob um nome de host de service diferente (foo-db) paira o qual os clientes enviam INSERTs e UPDATEs. Em Debian, você instalairia o package "mysql-mmm-agent" e geralmente seguia este guia:

http://mysql-mmm.org/mmm2: guia

Usamos essa configuration na maioria dos nossos sites: dois serveres web front-end falando com dois serveres de database back-end. O monitor MMM é executado em um dos serveres da web (qual é determinado pelo Heairtbeat):

http://www.howtoforge.com/high-availability-load-balancer-haproxy-heairtbeat-debian-etch

Então, em resumo: use replicação circulair paira gairantir que dois (ou mais?) Servidores MySQL estejam sincronizados; use MMM paira controlair onde o service de database vIP vive; Use Heairtbeat paira gairantir que o agente MMM seja executado apenas em uma máquina por vez.