L · Notifikasi Leader
Bukan respons atas sebuah request, melainkan notifikasi yang dikirim server lebih dulu (khusus cluster). Saat mendeteksi bahwa leader Raft berganti, node mengirim alamat klien dari leader baru satu kali ke semua klien yang sedang terhubung dengannya.
Apa bedanya dengan M
M · Moved | L · Notifikasi Leader | |
|---|---|---|
| Sifat | Respons atas sebuah request | Notifikasi dari server (tidak terkait request) |
| Makna | "request ini tidak bisa diproses di sini" | "leader sudah berganti" (informasi) |
| Koneksi | ditutup lalu sambung ulang ke leader baru | dipertahankan — hanya hint yang diperbarui |
| Node ini | dipastikan bukan leader | bisa jadi justru leader baru |
Jangan menutup koneksi setelah menerima L. Node yang mengirim notifikasi itu sering kali justru leader barunya, dan masih ada request yang akan lewat di koneksi tersebut.
Mengapa ini diperlukan
Tanpa notifikasi ini, klien baru mengetahui pergantian leader setelah melempar sebuah request dan dipantulkan dengan M. L menghilangkan perjalanan bolak-balik itu, sehingga request pertama sesudah failover pun langsung menuju leader baru.
Klien versi lama yang tidak mengenal op ini boleh mengabaikannya tanpa masalah — hanya performanya yang kembali seperti sebelum ada notifikasi (request → M → coba lagi).
Notasi byte:
opberupa karakter ASCII, danaddrberupa teks UTF-8 (panjang variabel, ditampilkan sebagaiNdi struktur).\ndi akhir adalah0A.
Alur
Dalam mode server tunggal tidak ada konsep leader, jadi notifikasi ini tidak pernah dikirim. Untuk perilaku cluster secara keseluruhan, lihat Protokol (Cluster).