Могу ли я запретить синхронизацию пространства ключей с другим центром данных, НЕ включив другой центр данных в определение репликации пространства ключей?По-видимому, это не так.
В моем собственном тесте я установил два кластера Kubernetes в GCP, каждый из которых служит центром обработки данных Cassandra.В каждом кластере k8s есть 3 узла.
Сначала я настроил центр обработки данных DC-WEST и создал демонстрацию пространства ключей с помощью этого: CREATE KEYSPACE demo WITH replication = {‘class’: ‘NetworkTopologyStrategy’, ‘DC-WEST’ : 3};
Затем я установил центр обработки данных DC-EAST без добавлениялюбое использование ключей.
Чтобы объединить два центра обработки данных, я изменяю переменную окружения CASSANDRA_SEEDS
в YAML Cassandra StatefulSet, чтобы включить узлы начальных значений из обоих центров обработки данных (я использую сеть хоста).
Но после этого я замечаю, что пространство ключей demo
синхронизируется с DC-EAST, хотя пространство ключей имеет только DC-WEST в репликации.
cqlsh> select data_center from system.local
... ;
data_center
-------------
DC-EAST <-- Note: this is from the DC-EAST datacenter
(1 rows)
cqlsh> desc keyspace demo
CREATE KEYSPACE demo WITH replication = {'class': 'NetworkTopologyStrategy', 'DC-WEST': '3'} AND durable_writes = true;
Таким образом, в DC-EAST мы видим demo
пространство ключей, которое должно копироваться только на DC-WEST!Что я делаю не так?