问题标签 [gocql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
108 浏览

go - 如何将 Go API 连接到 Cassandra DB

我正在使用 Go API,我需要将它连接到 Google Cloud 服务器上的 Cassandra DB。

这是我的 Go 连接代码:

但是,当我运行此代码时,出现此错误:

gocql: 无法创建会话: 控制: 无法连接到初始主机: dial tcp xx.xxx.xxx.xxx:9042: i/o timeout

这是我的谷歌云配置:

服务器配置

服务器配置

服务器配置

我还修改了服务器中的 cassandra.yaml 文件以更改侦听地址和 RPC 地址,以将我的 IP 与我用来运行我打开的 Go 程序的端口放在一起。(它打开了3次,因为我只是在测试一些东西)

开放的端口

0 投票
1 回答
57 浏览

go - 如何使用 gocql 将 Go 类型转换为 Scylla/Cas​​sandra 类型?

有没有办法将 Go 类型转换[]stringset<text>using gocql?还是我需要为此制作自己的映射器?我知道 gocql 能够使用他们的编组器将 Go 值转换为 Scylla/Cas​​sandra 值,但我想获取类型,而不是数据值(gocql 返回一个字节数组)。

谢谢!

0 投票
1 回答
56 浏览

go - 如何使用 gocql 连接到部署在 AWS 上的 Cassandra 集群?

我已经完成了一个三节点 Cassandra 集群的设置。这个在aws上,服务器端口是开放的。三台服务器相互连接良好,工作完美。我已经设定

在我的cassandra.yaml档案中

我想用go cql建立连接,这里是连接代码

但是 go cql 将这条消息发回给我。

0 投票
0 回答
30 浏览

database - 增加 Cassandra 连接超时 - WCGW

我们有一个 cassandra 数据库,它到处都在吐出墓碑警告。我们需要运行压缩,但是磁盘空间不足+其他 devop 问题,所以当我们等待一切准备好运行压缩时,我们正在增加连接超时,因为一些查询需要很多时间。

特别是我们在 gocql 驱动程序中将这个值提高到了 10000 毫秒(10 秒):https ://github.com/gocql/gocql/blob/b225f9b53fa19e0707732bc63796b472c5e7b0da/cluster.go#L49

这是一个糟糕且临时的解决方法,我的问题是:将此值设置为 10 秒(几乎是默认值的 10 倍)安全吗?

查询虽然非常缓慢,但我们会以某种方式导致一些故障(例如,多个节点崩溃 - 我们目前没有备份)吗?

0 投票
1 回答
31 浏览

database - yugabyteDB 可以用于存储和流式传输吗?

我们有 GoLang 后端服务用于:

  1. 使用 YCL 驱动程序将数据存储在 yugabyte DB 中
  2. 将相同的数据发布到 Kafka

第 2 步是必要的,以便消费者可以通过 kafka 流式传输

  1. 一旦在表中创建了新行,yugabyteDB 可以帮助流数据吗?避免在kafka中维持状态....

  2. 如果是,yugabyte db 是否支持推送模型的流式传输?

0 投票
0 回答
19 浏览

go - 多个 gocql 会话会导致 Golang 集成测试中的错误吗?

我正在运行连接到我们的暂存环境 Scylladb 集群之一的 Golang 集成测试。当我运行go test ./...它实际上并行运行 2 个包(来自我调用的根目录的子目录go test ./...)。在这些包中的每一个中,都有一个主_test.go文件通过一组测试运行。

当我分别运行这些软件包时,工作完美。所有测试都通过,没有超时等。但是,当我一起运行它们时,我在两者中都得到了失败的测试(每个包都有 1 个失败的测试),并且偶尔会使用 goroutine 打印出堆栈跟踪,如下所示:

如堆栈跟踪所示,许多错误来自gocql. 我目前为每个测试包创建一个新会话(也单独关闭):https ://github.com/gocql/gocql/blob/master/session.go#L112

运行 go 测试时有多个会话是不是很糟糕?当这两个会话都打开时,似乎只有这些问题。任何帮助,将不胜感激!

0 投票
0 回答
11 浏览

go - gocql 驱动程序是否支持令牌(分区)感知策略?

我们目前正在使用驱动程序: https://github.com/yugabyte/gocql 版本gocql@v0.0.0-20200602185649-ef3952a45ff4

1)文档说:令牌感知策略功能可用:https://pkg.go.dev/github.com/yugabyte/gocql#hdr-Data_center_awareness_and_query_routing

2)在主分支中也可以实现:https://github.com/yugabyte/gocql/blob/master/policies.go#L345

+++

但是有一点混乱,因为这个特性仍然存在 Github 问题(令牌感知策略):https://github.com/yugabyte/yugabyte-db/issues/11376

  1. gocql 驱动程序是否支持查询的令牌感知路由?

  2. 如果是,需要使用哪个版本的 gocql?

0 投票
0 回答
6 浏览

go - Scylla gocqlx如何实现基于token的分页

我正在使用 Scylla 来保存用户创建的派对。下面的方法返回用户创建的各方列表。我目前在不允许分页的情况下返回所有各方,但我正在尝试为下面的方法实现分页,但我仍然不太了解 Scylla 是如何处理分页的。
我的猜测是可以将游标传递给查询。根据这个例子,看起来PageState可以用来传递类似于游标的东西。
我会很感激一个简短的解释是什么PageState以及我是否应该使用它来完成基于令牌的分页。如果可以提供一个示例来说明如何将PageState新页面返回给客户端并用于在第二个请求中获取新页面,那也很棒。

提前致谢,感谢您的宝贵时间。