jueves, 24 de mayo de 2018

Proxy MySQL :: HAproxy || ProxySQL y KeepAlived

Entonces, cuando se trata de enrutar su tráfico MySQL, existen varias opciones. 

Ahora que he visto que HAproxy se usa con más frecuencia con los clientes, es bastante fácil de configurar. Percona tiene un ejemplo para los interesados:

Personalmente, me gusta ProxySQL. Percona también tiene pocos blogs sobre esto también
Percona también tiene disponible la versión ProxySQL

Estaba pensando en escribir algunos ejemplos, pero en general Percona lo ha explicado muy bien. No quiero quitar nada de esas publicaciones, en cambio, señalo que hay mucha buena información disponible a través de esas urls. Entonces, en lugar de volver a escribir lo que ya se ha escrito, crearé una colección de información para los interesados.

Primero compare y decida por usted mismo lo que necesita y desea. El siguiente enlace por supuesto va a estar sesgado hacia ProxySQL, pero le da un alcance general para que usted considere.
Si tiene un clúster o maestro para dominar y no le importa a qué servidor van las escrituras vs lecturas, siempre que tenga una conexión; entonces es probable que HAproxy sea una configuración simple y rápida para usted.

La ventaja con ProxySQL es la capacidad de ordenar el tráfico de una manera ponderada, FÁCIL. Por lo tanto, puede hacer que las escrituras vayan al nodo 1 y seleccione la extracción del nodo 2 y del nodo 3. La documentación sobre esto se puede encontrar aquí:
Sí, se puede hacer con HAproxy, pero debe instruir a la aplicación en consecuencia.
Esto se maneja en ProxySQL en base a sus reglas de consulta.

Ahora la pregunta obvia aquí: OK, ¿cómo evitar que ProxySQL se convierta en el único punto de falla?

Puede invertir es un equilibrador de carga robusto y etc etc etc ... Mezcle hardware en él .... O hágalo fácil para usted y soporte de código abierto y use KeepAlive d. Esto es MUY fácil de configurar y todo está documentado nuevamente aquí:
Si alguna vez se ocupó de lua y mysql-proxy , ProxySQL y Keepalived deberían ser muy simples para usted. Si aún lo desea, por alguna razón: https://launchpad.net/mysql-proxy

Independientemente de si elige HAproxy, ProxySQL u otra solución, debe asegurarse de no reemplazar un único punto de falla con otro y keepalived es ideal para eso. Muy pocas razones para no hacer esto si está usando un proxy.

Así que algunas cosas más en ProxySQL.
http://anothermysqldba.blogspot.com/2018/05/proxy-mysql-haproxy-proxysql-keepalived.html