Итак, я играю с Кассандрой и настроил кластер с тремя узлами. Я пытаюсь выяснить, как избыточность работает с ConsistencyLevels. В настоящее время я пишу данные с помощью ConsistenyLevel.ALL и читаю данные с помощью ConsistencyLevel.ONE. Из того, что я читал, это, кажется, имеет смысл. У меня есть три узла Кассандры, и я хочу написать для всех трех из них. Я забочусь только о чтении одного из них, поэтому приму первый ответ. Чтобы проверить это, я написал кучу данных (опять же, с ConsistencyLevel.ALL). Затем я убиваю один из моих узлов (а не компьютер "seed" или "listen_address").
Когда я пытаюсь читать, я ожидаю, может быть, после некоторой задержки, вернуть мои данные. Первоначально я получаю TimeoutException ... который я ожидаю. Это то, что получается, когда Кассандра пытается справиться с неожиданной потерей узла, верно? Примерно через 20 секунд я повторяю попытку, и теперь я получаю исключение UnavailableException, которое описывается как «Не все необходимые реплики могут быть созданы и / или прочитаны».
Что ж, меня не волнуют все реплики ... только одна (как в ConsistencyLevel.ONE в моем операторе get), верно?
Мне не хватает точки ConsistencyLevel здесь? Как я могу настроить это, чтобы получать информацию, даже если узел умирает?
Спасибо