Должен ли я беспокоиться о подсказках cassandra в случае простоя постоянного тока?

#cassandra #datastax

#cassandra #datastax

Вопрос:

Скоро я буду расширяться до 2 dc с 1, и поэтому я немного беспокоюсь о том, что произойдет, когда при использовании LOCAL_QUORUM у меня отключится один из dc.

Допустим, у меня есть 2 постоянного тока: dc1 и dc2. Пространство ключей A будет реплицироваться как по d1, так и по d2.

Теперь, насколько большими будут подсказки в случае, если я не смогу повторить свои записи в dc2 при использовании локального кворума для записи в dc1. Я знаю, что записи будут признаны успешными с момента использования локального кворума, но поскольку данные необходимо реплицировать, чтобы их можно было прочитать в dc2 для аналитических целей, будет ли проблемой накопление подсказок cassandra?

Ответ №1:

Это действительно зависит от количества операций записи и того, как вы хотите восстановиться после простоя, и насколько большим может быть время простоя:

  • Cassandra в любом случае отправляет записи на все узлы — LOCAL_* просто говорит, что подтверждение должно прийти от локального DC
  • Если другой DC отключен, подсказки записываются на диск и воспроизводятся после включения DC
  • Если DC будет отключен дольше, чем max_hint_window_in_ms , то вам все равно нужно будет выполнить ремонт, поэтому воспроизведение подсказок просто добавит дополнительную нагрузку на серверы

Если вы ожидаете, что DC всегда будет отключен в течение более длительного периода времени, вы можете отключить запись подсказок для другого DC с помощью hinted_handoff_disabled_datacenters настройки — но вам нужно будет выполнить восстановление после восстановления DC.

P.S. Я вижу datastax тег — означает ли это, что вы используете DSE? Если да, то какая версия? Потому что в DSE 6.x NodeSync может догнать недостающие данные.