我有一个多节点的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,以便使用可用的节点创建生产者?
发布于 2021-06-05 21:58:37
你不应该真的在同一台机器上运行3个代理,但是当第一个服务器关闭时,使用多个唯一的服务器对我来说很好(如果需要的话,集群会选举一个不同的领导者),所以听起来你要么失去了主题分区的主要领导者,要么失去了控制器。在生产者上启用退休应该能够修复自身(通过向分区领导者发出新的元数据请求)
总体而言,它只是一个CSV;没有其他方法来配置该属性本身。您可以在代理前面放置一个反向代理,该代理只解析到健康的节点,但这样就会与潜在的DNS缓存发生冲突
https://stackoverflow.com/questions/67848646
复制相似问题