问题标签 [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.
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 代码的路径。
如果重要,请描述秘密 -
go - 安装 golang Shopify/sarama Kafka 库时出错
安装golang
github.com/Shopify/sarama
kafka
库时出现以下错误
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'。
它不漂亮。那么我该如何优化或有其他方法可以做到这一点?
go - 容器重新启动后重播 Kafka 消息
因此,作为消费者的一部分,我有一个长时间运行的过程,需要 5 分钟才能完成。我设置了以下值以避免由于超时问题而重新平衡。c.Consumer.MaxProcessingTime = 持续时间 c.Consumer.Group.Rebalance.Timeout = 持续时间 + 5*time.Second
我在 golang 中使用 Shopify sarama 库。我们有 3 个容器和 1 个分区(我们将很快增加)。我观察到一个问题,当容器重新启动时,所有 3 个容器都开始处理最后一条消息。
go - 如何使用 Shopify/sarama golang 库为 kafka 中的主题添加 consumerGroup?
在 sarama 库中,有一个初始化 NewConsumerGroup 的选项,但如何将其连接到 NewConumer?