Я использую экспресс-кассандру для своего приложения.До сих пор у нас было только одно пространство ключей и один центр обработки данных, поэтому было легко следить за документацией.Но теперь, учитывая, что мы создаем новый центр обработки данных, у нас будет 2 центра обработки данных и одно из наших пространств ключей, назовем его k2, который будет реплицирован только во втором центре обработки данных.Я сталкиваюсь с проблемами относительно того, как настроить то же самое с экспресс-кассандрой и как правильно использовать это в приложении.
Использование одного пространства ключей и центра обработки данных приведено ниже.
models.setDirectory(path.join(__dirname, '/../../api/models')).bind(
{
clientOptions: {
contactPoints: E.config.cassandraContactPoints,
/**
* Express cassandra consistency level options
* "{"any":0,"one":1,"two":2,"three":3,"quorum":4,"all":5,"localQuorum":6,"eachQuorum":7,"serial":8,"localSerial":9,"localOne":10}"
*/
protocolOptions: { port: 9042 },
keyspace: 'k1',
queryOptions: { consistency: models.consistencies.localOne }
},
ormOptions: {
defaultReplicationStrategy: {
class: 'NetworkTopologyStrategy',
replication_factor: 2
},
createKeyspace: false,
dropTableOnSchemaChange: false
}
},
function (err) {
if (err) {
throw err;
}
console.log('Connected to k1 keyspace');
postDBConnection(models, 'k1');
// Listen on provided port, on all network interfaces.
server.listen(port);
server.on('error', onError);
server.on('listening', onListening);
}
);
Я не могу пойти дальше и подключить второе пространство ключей, используя тот же подход, который предположительно (поправьте меняесли я не прав) переопределите параметры клиента k1 и т. д. момент, когда bind () используется с k2 вместе с параметрами клиента.
Любая помощь будет чрезвычайно полезна!