运行 Confluence Kafka 4.1.1 社区。
我有...
我启动了我的应用程序,当它开始向 Kafka 写入记录时,我故意关闭了其中一个代理,我立即得到:org.apache.kafka.common.errors.NetworkException: The server disconnected before a response was received.
根据上面的设置。生产者 write() 不应该成功并且不抛出错误吗?
澄清
没有看到完整的配置。和日志消息,很难说,仍然..
在 Kafka 中,所有写入都经过领导分区。在您的设置中,在 3 个经纪人中,您杀死了 1 个。因此应该可以成功写入其余 2 个经纪人并获得确认。但如果被杀死的 Broker 是领导节点,则可能会导致异常。
来自文档:
acks=all 这意味着领导者将等待完整的同步副本集确认记录。这保证了只要至少一个同步副本保持活动状态,记录就不会丢失。这是最强有力的保证。
在任何情况下,您都可以将重试设置为大于 0 的值并查看行为 - 应该选出新的领导者,并且您的写入最终应该成功
| 归档时间: |
|
| 查看次数: |
11716 次 |
| 最近记录: |