quarta-feira, 23 de maio de 2018

Proxy MySQL :: HAproxy || ProxySQL e KeepAlived

Então, quando se trata de rotear seu tráfego MySQL, existem várias opções. 

Agora eu tenho visto HAproxy usado com mais freqüência com os clientes, é bastante simples de configurar. Percona tem um exemplo para os interessados:

Pessoalmente eu gosto de ProxySQL. Percona também tem alguns blogs sobre isso também
Percona também tem versão ProxySQL disponível

Eu estava pensando em escrever alguns exemplos, mas no geral Percona explicou tudo muito bem. Eu não quero tirar nada desses posts, em vez disso, salientar que muita informação boa está disponível através desses URLs. Então, em vez de reescrever o que já foi escrito, vou criar uma coleção de informações para os interessados.

Primeiro compare e decida por si mesmo o que você precisa e quer. O link a seguir, claro, vai ser inclinado para o ProxySQL, mas dá-lhe um escopo geral para você considerar.
Se você tem um cluster ou mestre para dominar e não se importa com qual servidor as leituras versus leituras serão feitas, contanto que você tenha uma conexão; então o HAproxy é provavelmente um simples e rápido setup para você.

O bônus com o ProxySQL é a capacidade de classificar o tráfego de maneira ponderada, FÁCIL. Assim, você pode escrever no nó 1 e selecionar pull do nó 2 e do nó 3. A documentação pode ser encontrada aqui:
Sim, isso pode ser feito com o HAproxy, mas você deve instruir o aplicativo de acordo.
Isso é tratado no ProxySQL com base em suas regras de consulta.

Agora a pergunta óbvia aqui: OK, então como você mantém ProxySQL de se tornar o único ponto de falha?

Você pode investir é um balanceador de carga robusto e etc etc etc ... Lançar hardware nele ... Ou tornar mais fácil em si mesmo e apoiar open source e usar KeepAlive d. Isso é muito fácil de configurar e tudo está documentado novamente aqui:
Se você já lidou com lua e mysql-proxy , ProxySQL e Keepalived devem ser muito simples para você. Se você ainda quiser, por algum motivo: https://launchpad.net/mysql-proxy

Independentemente de você escolher HAproxy, ProxySQL ou outra solução, você precisa garantir que não substitua um único ponto de falha por outro e que keepalived seja ótimo para isso. Tão pouco motivo para não fazer isso se você estiver usando um proxy.

Então, mais algumas coisas no ProxySQL.
http://anothermysqldba.blogspot.com/2018/05/proxy-mysql-haproxy-proxysql-keepalived.html