问题标签 [sarama]

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 回答
104 浏览

apache-kafka - Strimzi - 使用 SCRAM-SHA-512 身份验证连接到外部 OpenShift 路由侦听器,使用 TLS 和 Sarama

我有一个带有以下 yaml 的 Strimzi 集群设置。

豆荚很好,我KafkaUser用 SCRAM-512 创建了一个 CR,如下所示 -

我已经从密钥中正确提取了 SCRAM 密码,并ca.crt从 cluster-ca-cert 密钥中获取了文件。我正在尝试遵循此示例中的 Go Sarama 代码 - https://github.com/Shopify/sarama/blob/master/examples/sasl_scram_client/main.go

我还从 OpenShift Route 正确获取了引导服务器地址,但我似乎无法连接。

我已经尝试了上述命令的一些变体,添加-certificate-key标志,但似乎没有一个工作。我的监听器设置错误吗?

编辑 - 忘记包含并提及它,但这是我从 Go Sarama 代码中得到的错误。

所以它看起来是一个证书问题,但我似乎已经按照正确的说明来获取证书。我的 Kafka 代理刚刚命名为 kafka,因此秘密命名为 kafka-cluster-ca-cert。该ca.crt文件是我提供给 Sarama 代码的路径。

如果重要,请描述秘密 -

0 投票
1 回答
752 浏览

go - 安装 golang Shopify/sarama Kafka 库时出错

安装golang github.com/Shopify/sarama kafka库时出现以下错误

0 投票
1 回答
206 浏览

mysql - 如何按顺序使用来自 kafka 的消息?

背景

生产者生成一些数据并按顺序发送到 Kafka,例如:

{uuid:123 状态:1}

{uuid:123 状态:3}

状态 1 表示开始

状态 3 表示成功

我使用sarama.NewConsumerGroup(xx, xx, config).Consume(xx, xx, myhandler)来使用代码:

然后我将 msgQueue 中的值解码为一个结构并将一条记录插入到 mysql 中。

问题

通常,最终数据状态是 '3',但我发现有时它是 '1'

而且我发现通道msgQueue中的消息顺序不固定。

那么如何确保 data 的最终状态为3

怎么修

我提供的方法还不够好,无法查看如何对其进行优化。

mysql 对uuid有一个唯一的约束索引。

当数据顺序为{uuid: 123 status: 1} , {uuid: 123 status: 3}时,是对的。

当数据顺序为{uuid: 123 status: 3} , {uuid: 123 status: 1}时,最终状态也是正确的,但会返回错误Error 1062: Duplicate entry '123' for key 'unique_index_uuid'

它不漂亮。那么我该如何优化或有其他方法可以做到这一点?

0 投票
0 回答
47 浏览

go - 容器重新启动后重播 Kafka 消息

因此,作为消费者的一部分,我有一个长时间运行的过程,需要 5 分钟才能完成。我设置了以下值以避免由于超时问题而重新平衡。c.Consumer.MaxProcessingTime = 持续时间 c.Consumer.Group.Rebalance.Timeout = 持续时间 + 5*time.Second

我在 golang 中使用 Shopify sarama 库。我们有 3 个容器和 1 个分区(我们将很快增加)。我观察到一个问题,当容器重新启动时,所有 3 个容器都开始处理最后一条消息。

0 投票
1 回答
37 浏览

go - 如何使用 Shopify/sarama golang 库为 kafka 中的主题添加 consumerGroup?

在 sarama 库中,有一个初始化 NewConsumerGroup 的选项,但如何将其连接到 NewConumer?