L · Avis de leader
Ce n'est pas la réponse à une requête, mais un avis que le serveur envoie de lui-même (cluster uniquement). Lorsqu'il détecte que le leader Raft a changé, le nœud envoie une fois l'adresse client du nouveau leader à tous les clients qui lui sont connectés.
En quoi cela diffère de M
M · Redirigé | L · Avis de leader | |
|---|---|---|
| Nature | Réponse à une requête | Avis émis par le serveur (sans lien avec une requête) |
| Signification | « cette requête ne peut pas être traitée ici » | « le leader a changé » (information) |
| Connexion | Fermer et se reconnecter au nouveau leader | Maintenue — seul l'indice est mis à jour |
| Ce nœud | N'est certainement pas le leader | Peut justement être le nouveau leader |
Ne fermez pas la connexion à la réception d'un L. Il est fréquent que le nœud qui a envoyé l'avis soit précisément le nouveau leader, et des requêtes doivent encore transiter par cette connexion.
Pourquoi c'est nécessaire
Sans cet avis, le client n'apprend le changement de leader qu'en envoyant une requête et en se faisant renvoyer un M. L supprime cet aller-retour : la première requête après le basculement part déjà directement vers le nouveau leader.
Les clients de versions anciennes qui ne connaissent pas cet op peuvent l'ignorer sans que le fonctionnement en souffre — seules les performances reviennent au niveau antérieur à l'avis (requête → M → nouvel essai).
Notation des octets :
opest un caractère ASCII, etaddrest du texte UTF-8 (longueur variable, notéeNdans la structure). Le\nfinal est0A.
Flux
En mode serveur unique, la notion de leader n'existe pas : cet avis n'est donc pas envoyé. Pour le comportement complet du cluster, voir Protocole (Cluster).