node.js - 如何使用 node.js 驱动程序设置 Cassandra 中的一致性级别?

标签 node.js cassandra

我使用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/

相关文章:

python - 将命令从一个 docker 容器传递到另一个

cassandra - 您如何检查hector中是否存在列族?

scala - Cassandra (CQL) 使用 Cassandra4IO 选择 IN 查询

cassandra - 如果我增加 Cassandra Cluster 中的节点数量,磁盘空间会增加吗?

node.js - 单流多次消费

javascript - 在 Node.js 中记录对控制台的请求和响应

node.js - 安装 Eslint 和插件时未满足的对等依赖关系

javascript - express-jwt 身份验证中间件不工作

io - 在生产环境中,在 LXC 或 Docker 中运行 Cassandra 是个好主意吗?

database - 为什么不像通常使用 MySQL 那样从 "single & small"Cassandra 服务器开始呢?