Kami memiliki cluster Cassandra 3 node dengan RF = 2. Konsistensi baca dan tulis diatur ke SATU. Kami juga menggunakan Vnodes. Mari beri label node ini sebagai N1, N2 dan N3. Katakanlah N3 turun. Saya mendapat kesan bahwa setiap kali sebuah node mati, node lain akan menyimpan petunjuk dan setiap kali N3 muncul, petunjuk tersebut akan dikirim ke N3, sehingga memastikan bahwa data konsisten di seluruh replika. Namun, saat saya membaca dokumen, saya menemukan parameter max_hint_window_in_ms
yang defaultnya adalah 3 jam. Jadi, jika sebuah node mati lebih dari 3 jam, maka dianggap mati permanen dan tidak ada petunjuk yang disimpan. Sejauh ini bagus.
Jadi, pemahaman saya sekarang adalah jika sebuah node mati misalnya selama 10 jam, maka petunjuk untuk 3 jam pertama akan ditransfer ke node ini ketika muncul kembali, tetapi penulisan untuk durasi 7 jam ini akan hilang selama ini. simpul. Selain itu, jika kueri baca diaktifkan untuk rentang token tertentu, dan karena node ini juga memenuhi syarat untuk melayani permintaan baca untuk rentang token, node tersebut akan mengembalikan null, bukan data aktual yang disimpan di beberapa node lain. Apakah pemahaman saya benar? Lalu apa yang harus dilakukan?