Cassandra спроектирована как распределенная система. Распределенная архитектура Cassandra специально разработана для развертывания нескольких центров обработки данных . Эти функции достаточно надежны и гибки, поэтому вы можете настроить кластер для оптимального географического распределения, резервирования для аварийного переключения и аварийного восстановления.
Несколько развертываний центров обработки данных отлично подходят для глобальных решений, в которых некоторые приложения работают в одном регионе, а другие - в другом, и в то же время используют один кластер Cassandra, который работает в нескольких центрах обработки данных в разных регионах.
Для приложений с одним регионом предпочтительным вариантом по-прежнему является наличие нескольких центров обработки данных, поскольку он обеспечивает аварийное восстановление даже в случае отказа одного региона.
Ответ 1) Для одного кластера D C Cassandra рекомендуется иметь 4 узла с RF3. Стойка 1 с 2 узлами и Стойка 2 с 2 узлами. Помните, что узлы в одной стойке имеют более быструю сеть, чем узлы в разных стойках. С двумя узлами в одной стойке запросы с LOCAL_QUORUM будут быстрее по сравнению с запросами в кластере со всеми узлами в разных стойках.
Если вас не интересует задержка запроса, все узлы в разных стойках (3 стойки) обеспечат лучшее аварийное восстановление по сравнению с двумя развертываниями RACK. При этом всегда рекомендуется использовать несколько развертываний D C для производственного кластера.
Ответ 2) Всегда рекомендуется увеличивать коэффициент репликации пространства ключей System_auth и изменять класс репликации. Сетевой ТопологииСтратегии. Пожалуйста, следуйте этой документации для получения более подробной информации https://docs.datastax.com/en/security/6.0/security/secSystemKeyspace.html
Ответ 3) Да, вы можете легко добавить новый узел в существующий кластер, не влияя на трафик c. Пожалуйста, следуйте этой документации для более подробной информации: https://docs.datastax.com/en/archived/cassandra/3.0/cassandra/operations/opsAddNodeToCluster.html