L · Aviso de líder
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 · Movido | L · Aviso de líder | |
|---|---|---|
| Naturaleza | Respuesta a una solicitud | Aviso 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ón | Cerrar y reconectar al nuevo líder | Mantener — solo se actualiza la pista |
| Este nodo | Con seguridad no es el líder | Puede 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:
opes un carácter ASCII, yaddres texto UTF-8 (longitud variable, mostrado comoNen la estructura). El\nfinal es0A.
Flujo
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).