Кассандра : LOCAL_QUORUM против КВОРУМА, когда все центры обработки данных/серверы физически являются локальными, в одной и той же сети 10 Гбит / с

#cassandra #datastax #datastax-enterprise

Вопрос:

У меня есть два центра обработки данных Cassandra, но все серверы находятся в одном здании, подключены к 10 gbps сети.

Я не планирую размещать серверы в другом месте.

РФ составляет 2 в каждом центре обработки данных.

Мне нужно обеспечить сильную согласованность, поэтому я планирую использовать КВОРУМ.

Вопрос : есть ли для меня какие-либо преимущества в использовании LOCAL_QUORUM вместо КВОРУМА ?

Спасибо

Ответ №1:

Есть ли для меня какие-либо преимущества в использовании LOCAL_QUORUM вместо КВОРУМА?

Наиболее важным соображением здесь является то, что с 2 DC с RF == 2 QUORUM и LOCAL_QUORUM приравниваются к разным значениям (количество реплик, с которыми необходимо связаться).

  • LOCAL_QUORUM == 2
  • QUORUM == 3

Таким образом , преимущество, которое я вижу LOCAL_QUORUM , будет заключаться в том, что приложение будет ожидать меньшего количества реплик. С 2 DC и 2 репликами в каждом DC операции @ LOCAL_QUORUM будут ждать ответов от 2 реплик.

QUORUM операции будут рассматривать все 4 реплики в кластере и ждать ответа от 3. Таким образом, вероятно, будет небольшое преимущество в производительности LOCAL_QUORUM (ожидание меньшего количества реплик для ответа).

Недостатком является то, что использование LOCAL_QUORUM в этом случае не сможет допустить, чтобы узел был отключен. Поэтому, если один узел потерпел аварию или перестал отвечать на запросы, все операции будут завершаться с ошибкой до тех пор, пока этот узел не будет восстановлен.

Ответ №2:

Как упоминал Аарон, в этой конфигурации у вас не будет отказоустойчивости с local_quorum, поэтому я думаю, что стоит подумать о добавлении нового узла в каждый из этих контроллеров домена.

Делая это, вы сохраняете local_quorum 2 (против нового кворума 4), но становитесь отказоустойчивыми и выживаете, если узел выходит из строя с каждой стороны.