
En esta publicación de blog, analizamos cómo el modo de mantenimiento de Percona XtraDB Cluster utiliza ProxySQL para desconectar los nodos del clúster sin afectar las cargas de trabajo.
Modo de mantenimiento del clúster Percona XtraDB
Dado que Percona XtraDB Cluster ofrece una solución de alta disponibilidad, debe considerar un flujo de datos en el que se elimine un nodo de clúster para su mantenimiento (debido al aislamiento de un clúster o al cierre completo).
Percona XtraDB Cluster ha facilitado esto al introducir un modo de mantenimiento. El modo de mantenimiento de Percona XtraDB Cluster reduce la cantidad de fallas repentinas en la carga de trabajo si un nodo se degrada con ProxySQL (como un balanceador de carga).
La idea central es retrasar la acción del nodo central y permitir que ProxySQL omita la carga de trabajo.
Cómo gestiona ProxySQL el modo de mantenimiento del clúster Percona XtraDB
Con el modo de mantenimiento de Percona XtraDB Cluster, ProxySQL marca el nodo como SIN CONEXIÓN cuando un usuario activa una señal de apagado (o quiere poner un nodo específico en modo de mantenimiento):
- Cuando un usuario activa una parada, se establece el nodo Percona XtraDB Cluster
modo_mantenimiento_pxc para APAGAR (por defecto DESHABILITADO) y dormir por x segundos (dictado por
pxc_maint_transition_period – 10 s por defecto). ProxySQLdetecta automáticamente esto cambia y marca el nodo como OFFLINE. Con este cambio, ProxySQL evita abrir nuevas conexiones para cualquier transacción DML, pero continúa atendiendo las solicitudes existentes hasta que
pxc_maint_transition_period. Una vez que se completa el período de suspensión, Percona XtraDB Cluster proporciona una verdadera señal de apagado, lo que le da a ProxySQL suficiente tiempo para hacer la transición de su carga de trabajo. - Si el usuario necesita tomar un nodo en modo de mantenimiento, simplemente puede configurarlo
modo_mantenimiento_pxc a MANTENIDO. Con ese
modo_mantenimiento_pxc se actualiza y la conexión del cliente en la que la actualización ha estado durmiendo durante x segundos (según lo dictado por
pxc_maint_transition_period) antes de devolver el control a los usuarios. ProxySQL detecta automáticamente esto cambia y marca el nodo como OFFLINE. Con este cambio, ProxySQL evita abrir nuevas conexiones para cualquier transacción DML, pero continúa atendiendo las solicitudes existentes. - ProxySQL detecta automáticamente este cambio en el estado de mantenimiento y luego redirige automáticamente el tráfico, lo que reduce las fallas repentinas en la carga de trabajo.
Detalles técnicos:
- El probador Galera ProxySQL texto monitorea continuamente el estado de los nodos individuales al verificar el
modo_mantenimiento_pxc estado variable (además de los existentes)
wsrep_local_state) utilizando la función de programación de ProxySQL - Scheduler es una implementación similar a Cron integrada en ProxySQL, con granularidad de milisegundos.
- sí
proxysql_galera_checker Nota
modo_mantenimiento_pxc = APAGAR | SEGUID ASÍ, luego marque el nodo como OFFLINE_SOFT. Esto evita la creación de nuevas conexiones (o cargas de trabajo) en el nodo.
Campeón
proxysql_galera_checker logo:
<lapso estilo=«peso de fuente: 400;»>gio Dic. 8 11:21:11 GMT 2016 Habilitación configuración</lapso> <lapso estilo=«peso de fuente: 400;»>gio Dic. 8 11:21:17 GMT 2016 Cheque servidor 10:127.0.0.1:25000 , estado EN LÍNEA , wsrep_local_state 4</lapso> <lapso estilo=«peso de fuente: 400;»>gio Dic. 8 11:21:17 GMT 2016 Cheque servidor 10:127.0.0.1:25100 , estado EN LÍNEA , wsrep_local_state 4</lapso> <lapso estilo=«peso de fuente: 400;»>gio Dic. 8 11:21:17 GMT 2016 Cheque servidor 10:127.0.0.1:25200 , estado EN LÍNEA , wsrep_local_state 4</lapso> <B>gio Dic. 8 11:21:17 GMT 2016 Cambiando servidor 10:127.0.0.1:25200 a estado DESCONECTADO_SOFT vencer a APAGAR</B> <lapso estilo=«peso de fuente: 400;»>gio Dic. 8 11:21:17 GMT 2016 número de escritores en línea: 2 : grupo anfitrión: 10</lapso> <lapso estilo=«peso de fuente: 400;»>gio Dic. 8 11:21:17 GMT 2016 Habilitación configuración</lapso> <lapso estilo=«peso de fuente: 400;»>gio Dic. 8 11:21:22 GMT 2016 Cheque servidor 10:127.0.0.1:25000 , estado EN LÍNEA , wsrep_local_state 4</lapso> <lapso estilo=«peso de fuente: 400;»>gio Dic. 8 11:21:22 GMT 2016 Cheque servidor 10:127.0.0.1:25100 , estado EN LÍNEA , wsrep_local_state 4</lapso> <B>gio Dic. 8 11:21:22 GMT 2016 Cheque servidor 10:127.0.0.1:25200 , estado DESCONECTADO_SOFT , wsrep_local_state 4</B> |
Haga ping a continuación con cualquier pregunta o comentario.