Percona Live 17 Day One
MySQL Load Balancers
index | about | archive | charlas | docs | links
dot
|
git
|
img
|
plt
|
tty
|
uml
Percona Live 17 - Open Source Databases Conference
Day One
MySQL Load Balancers - MaxScale, ProxySQL, HAProxy, MySQL Router & nginx - a close up look
Un excelente resumen de los pros y contras de cada herramienta «HA» y en que casos combiene usar uno u otro.
- HAProxy
- Soporta balanceo de carga y es un proxy a nivel TCP
- Tiene la habilidad de separar lectura de escritura pero necesita un puerto específico para cada backend
- No entiende de MySQL, solo maneja la autenticación
- Se puede combinar con clustercheck para lograr monitoreo del MySQL
Ejemplo de configuración:
listen haproxy_172.30.3.215_3307 bind *:3307 mode tcp listen haproxy_172.30.3.215_3308 bind *:3308 mode tcp
keepalived
- diseñado para detectar fallas de nodos y moverse mediante una VIP (Virtual IP)
- una sola VIP para las conexiones no es posible balanceo
- puede ser util para contruir HA si te conectas a un solo nodo
- se puede usar con Galera Cluster para HA
- se instala keepalived en todos los nodos
- usando mysqlchk o percona clustercheck
nginx
- Si ya estás usando nginx como proxy reverso lo podes aprovechar
- Es similar a haproxy
- Se puede separar Lectura/Escritura usando 2 puertos
- No entiende los estados de MySQL/Galera
- Puede ser usado con clustercheck-iptables
maxscale
- Automáticamente monitorea la salud de los nodos
- Entiende los estados de Mysql/Galera
- Puede separar Lectura/Escritura
- Soporta SSL
- Soporta Replicacion Mysql/Galera
- Posee integración con Nagios
- Maneja varios tipos de ruteo
- Dificultad para obtener estadísticas de tráfico en tiempo real
- Desde la version 2.0 no es GPL
- Hay un fork GPL de la versión 1.3 por AirBnB
- Tiene serios problemas de escabilidad con mas de 100 threads concurrentes
proxysql
- Diseñado para topologías complejas
- Implementa separación Lectura/Escritura
- Soporta multiples grupos de hosts
- Monitorea la salud de los backends
- Ruteo avanzado basado en reglas de queries
- Interfaz de Administración en SQL
- Configuración al estilo Cisco
- Casi todas las variables pueden ser cambiadas dinámicamente sin reiniciar el servicio
- Reconoce queries usando regex, hash, user, schema, ip, port
- Ruteo de queries basado en condiciones
- Permite reescribir queries
- Cache de queries
- Minimiza las conexiones a los backends utilizando multiplex connections
- Soporte Replicacion MySQL y y Replicacion de Grupo
- Soporta Galera Cluster utilizando scripts externos
- Estadísticas detalladas del tráfico manejado por ProxySQL
Use ProxySQL to Improve Your MySQL High Availability Solution
ProxySQL es un HAProxy que entiende de SQL, puede hacer cosas en función de regex de queries o por queries exactas, reescribir queries, hacer balanceo, es muy liviano y se usa el mysql-client para configurarlo aunque por detrás es un sqlite.
En la charla mostraron diferentes formas de usar ProxySQL, como configurarlo y mejores prácticas, muy didáctica.
ChangeLog
2022-11-13 20:39
agregar y actualizar tags OpenGraph2019-04-18 00:21
Agregar hora en header date2019-04-09 19:37
Actualizar archivos para exportar a html utiliznado publish.el2019-04-09 03:01
Recuperar archivos en .md y convertirlos a .org