我使用node.js版本6.9.2和Cassandra 3.9。
我想在创建客户端实例时为所有查询设置 LOCAL_QUORUM 的一致性级别。
根据this documentation ,我需要执行以下操作。
const client = new Client({ queryOptions: { consistency: types.consistencies.quorum } });
我将仲裁的一致性级别更改为 local_quorum。
const client = new Client({ queryOptions: { consistency: types.consistencies.local_quorum } });
但是,当我使用这段代码启动应用程序时,我收到一个错误。
ReferenceError: types is not defined
因此,在没有完全理解这个含义的情况下,我设置了文本来代替类型。
const client = new Client({ queryOptions: { consistency: text.consistencies.local_quorum } });
我收到另一个错误。
ReferenceError: text is not defined
我的问题是:
types
的值应该是多少?
是否需要将quorum
更改为local_quorum
才能获得LOCAL_QUORUM的一致性级别?如果不是,将 LOCAL_QUORUM 分配给我的查询的正确方法是什么?
最佳答案
如果我没记错的话,类型一致性应该是 types.consistency.localQuorum
:)
添加更多信息: 类型位于驱动程序要求内,要访问它,您需要在之前声明它
const cassandra = require('cassandra-driver');
const client = new cassandra.Client({ contactPoints: ['host1'] });
client.connect(function (err) {
assert.ifError(err);
client.execute(query, params, { consistency: cassandra.types.consistencies.localQuorum }, function (err) {
//This callback will be called once it has been written in the number of replicas
//satisfying the consistency level specified.
});
});
关于node.js - 如何使用 node.js 驱动程序设置 Cassandra 中的一致性级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41085948/