你好堆栈溢出社区!
我需要一些帮助来找出在 nodejs 中使用 express cassandra orm 模型为我的多 dc(总 dc =2)cassandra 设置建立连接的正确方法。
我们目前仅使用 1 个 dc 和 express cassandra,因此我们只需提供 2 个种子节点 IP 地址作为 express cassandra 的联系点,如下所示
models.setDirectory(__dirname + '/models').bind(
{
clientOptions: {
contactPoints: cassandraContactPoints,
protocolOptions: { port: 9042 },
keyspace: 'keyspace_name',
queryOptions: { consistency: models.consistencies.one }
},
ormOptions: {
defaultReplicationStrategy: {
class: 'NetworkTopologyStrategy',
replication_factor: 2,
},
createKeyspace: false,
dropTableOnSchemaChange: false
}
},
function (err) {
if (err) {
throw err;
} else {
console.log('connection established');
postDBConnection(models, 'keyspace name again');
}
}
这里要注意的是,我们将 cassandraContactPoints 指定为仅包含现有 dc 的 2 个节点的数组。
由于我们正在使用单独的 DC 进行分析,我想知道我们是否应该在同一个数组中提供新 DC 的 IP 地址,即 cassandraContactPoints ?我们计划使用 LOCAL_QUORAM 并希望我们的分析应用程序仅使用分析 dc 进行所有读取和写入。
我已尝试阅读 express cassandra 和“cassandra 驱动程序”模块的源代码,但我无法找出解决方案>
这里的任何帮助将不胜感激!