but then one still need to solve the problem on when to switch from master to slave, how to do it properly and so on.
Todo e qualquer cluster geralmente tem noção de quorum: observadores (monitores, qualquer que seja) devem decidir qual nó é o mestre. Então você pode usar as informações deles para rotear as solicitações corretamente. É bastante típico executar o haproxy com não apenas o TCP / IP básico. verificações de saúde , mas alguma lógica de alto nível implementada com consultas específicas do serviço.
Confira o pacificador , para e. g ..