Ticketing
Documentación

L · Aviso de líder

Estructurarefresh

No es la respuesta a una solicitud, sino un aviso que el servidor envía por su cuenta (solo en clúster). Al detectar que el líder de Raft ha cambiado, el nodo envía una vez la dirección de cliente del nuevo líder a todos los clientes conectados a él.

En qué se diferencia de M

M · MovidoL · Aviso de líder
NaturalezaRespuesta a una solicitudAviso enviado por el servidor (sin relación con solicitudes)
Significado"esta solicitud no se puede procesar aquí""el líder ha cambiado" (información)
ConexiónCerrar y reconectar al nuevo líderMantener — solo se actualiza la pista
Este nodoCon seguridad no es el líderPuede ser justamente el nuevo líder

No cierres la conexión al recibir un L. Es habitual que el nodo que envió el aviso sea precisamente el nuevo líder, y aún quedan solicitudes que circular por esa conexión.

Por qué hace falta

Sin este aviso, el cliente solo se entera de que el líder ha cambiado enviando una solicitud y recibiendo un M de vuelta. L elimina esa ida y vuelta, de modo que la primera solicitud tras el failover va ya directa al nuevo líder.

Los clientes de versiones antiguas que no conocen este op pueden ignorarlo sin problema funcional — solo el rendimiento vuelve al nivel previo al aviso (solicitud → M → reintento).

Notación de bytes: op es un carácter ASCII, y addr es texto UTF-8 (longitud variable, mostrado como N en la estructura). El \n final es 0A.

Flujo

Cliente
Nodo conectado
Nuevo líder
la elección cambió el líder
L · líder (dirección del nuevo líder)
actualiza solo la pista del líder — la conexión se mantiene
la siguiente solicitud va directa al nuevo líder
A · adquirido (token)
solicitudrespuesta

En modo de servidor único no existe el concepto de líder, así que este aviso no se envía. Para el comportamiento completo del clúster, consulta Protocolo (clúster).