微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当 brokers 列表中的第一个 broker 宕机时创建 Producer

如何解决当 brokers 列表中的第一个 broker 宕机时创建 Producer

我有一个用于消费和生产的多节点 Kafka 集群。

在我的应用程序中,我使用 confluent-kafka-go(1.6.1) 创建生产者和消费者。当我生成和使用消息时,一切都很好。 这就是我配置引导服务器列表的方式

"bootstrap.servers":"localhost:9092,localhost:9093,localhost:9094"

但是当我开始在 bootstrap.servers 中给出代理的 IP 地址并且如果第一个代理关闭的那一刻,似乎生产者反复失败创建告诉

Failed to initialize Producer ID: Local: Timed out

如果我删除了故障节点的 IP,生产和消费消息就会起作用。 如果在我创建生产者/消费者后代理关闭,它们可以通过切换到其他节点继续使用。

我应该如何配置 bootstrap.servers 以便使用可用节点创建生产者?

解决方法

无论如何你都不应该在同一台机器上运行 3 个代理,但是当第一个服务器宕机时,使用多个 唯一 服务器对我来说效果很好(如果需要,集群会选举一个不同的领导者) to),所以听起来你要么失去了主题分区的主要领导者,要么失去了控制器。在生产者上启用退休应该能够自我修复(通过为分区领导者提出新的元数据请求)

总的来说,它只是一个 CSV;没有其他方法可以配置该属性本身。您可以在仅解析健康节点的代理前放置一个反向代理,但这样您就会与潜在的 DNS 缓存发生冲突

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。