Могут ли центры обработки данных cassandra настроены только на приемник репликации? - PullRequest
0 голосов
/ 20 марта 2019

Предполагая, что у нас есть 2 центра обработки данных кассандры. Одна из них - это производительная среда и хорошо защищенная, другая - тестовая среда , которую проще взломать, следовательно, не доверяют .

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

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

В случае, если кто-то нарушает тестовую среду, мы не хотим, чтобы производительная среда получала какие-либо манипулированные данные. Предполагается, что изменения в тестовой среде будут возвращены в продуктивную среду во время репликации.

1 Ответ

0 голосов
/ 20 марта 2019

Нет, это невозможно напрямую - в Cassandra изменения, внесенные в пространство клавиш, распространяются на все стороны.

Вы можете попробовать разные варианты, используя отдельные кластеры для prod и test:

  • Реализуйте код для чтения CDC-файлов и примените его к тестовому кластеру - это не поможет удалить данные из тестовой среды, поскольку этот подход применяет только изменения.
  • Использовать Расширенная репликация DataStax (используется аналогичный подход)
  • периодически воспроизводит данные из производства в тест, используя SSTableLoader - он будет воспроизводить все данные, поэтому он поможет с удалением данных в тесте. Но это может занять довольно много времени, если у вас много данных.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...