问题标签 [confluent-kafka-go]
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.
go - Kafka Go Confluent 包 - 生产者和消费者失败日志
设想
我们有一个用例,我们在微服务中使用来自某个主题的事件,最终在某些业务流程之后,我们为不同的主题生成多个事件。
服务 -> 消费,然后是多个生产
我们在服务活跃运行几个小时后看到下面的日志
其他详情
confluent-kafka-go 版本 - v1.7.0 ( https://github.com/confluentinc/confluent-kafka-go/ )
Kafka Cluster : Confluent Platform Basic plan (因为我们现在处于开发阶段)
消费者配置-
生产者配置-
该服务在部署在 EKS (AWS) 上的 kubernetes pod 上运行
问题/疑问:作为一个团队,我们是 Kafka 和 golang 的新手。因此,希望能回答以下问题。
我们看到这些日志的任何具体原因?
我们在应用程序启动期间创建生产者,并在整个应用程序生命周期中保持单一生产者。生产者是否有超时/到期?我们的另一个选择是在生成消息时创建生产者,但在这种情况下,我们最终将创建许多(以数千个)生产者。处理这种情况的最佳方法应该是什么?
您可能想推荐任何其他配置或更好的做法吗?
go - 在 confluent-kafka-go 中进行 Kafka 重新平衡期间要做什么
我们是否假设在 RebalanceCB 中显式调用 IncrementalAssign/Assign 和 IncrementalUnassign/Unassign?不使用 RebalanceCB 并且仅使用来自 poll() 的正常事件时是否同样适用?
go - 突然关闭时,go 通道中未处理的消息会发生什么?
我在 kubernetes 中部署了一个 go 应用程序。我的应用程序有一个 go 例程,它不断侦听来自 kafka 主题的消息,并将新消息推送到 go 通道以进行进一步处理并提交 kafka 消息。如果我使用 hpa 减少副本的数量/如果副本由于恐慌而下降,那么仍然在 go 通道中未处理的消息会发生什么?
go - 如何在没有生产者的情况下创建 kafka 消息?
我想创建一个基本的测试用例,而不需要引导生产者、消费者和 kafka 实例进行测试。我坚持以某种方式创建基本消息并且找不到我的错误。这是来自confluent-kafka-go sdk 的结构定义:
我的基本消息创建如下所示。我已经验证了 topicPartition 结构和 validImageUploadMessageAsBytes 是有效的对象。
我还尝试了以下方法以确保它不会因为我在消息中提供的一些数据而失败:
此示例产生与下图相同的输出
在使用 GoLand (2021.3.3) 调试它时,我看到了这个变量值