【问题标题】:kafka replication factor less then broker countkafka 复制因子小于代理计数
【发布时间】:2020-09-22 18:05:23
【问题描述】:

我创建了一个复制因子 = 2、分区计数 = 1 和代理计数 = 3 的 Kafka 主题。

如果在消费者中将所有 3 个代理都指定为引导服务器,是否会正确读取消息?

当消费者到达没有副本的节点时,消息不会被消费吗?还是那样不行?

【问题讨论】:

    标签: java apache-kafka kafka-consumer-api


    【解决方案1】:

    Kafka 代理在内部相互通信。

    这意味着,如果您的消费者只知道其中一个代理,它将与集群中的所有代理进行通信,以确定分区领导者位于哪个代理上。然后您的消费者将从该代理消费。

    但是,通常最好在您的使用者配置bootstrap.servers 中不仅提供一个代理地址,还提供一个以上甚至所有地址作为逗号分隔的列表。这样,即使其中一个代理出现故障,您的消费者仍然能够获取数据。

    如果在消费者中将所有 3 个代理都指定为引导服务器,是否会正确读取消息?

    是的。但是,每个分区作为分区领导者位于其中一个代理上,因此您的消费者只会使用来自该代理的数据。

    当消费者到达没有副本的节点时,消息不会被消费吗?

    没有。如上所述,broker 之间正在相互通信以确定分区领导者位于哪个代理上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-12
      • 2016-01-10
      • 2015-03-22
      • 1970-01-01
      • 2020-05-30
      • 2022-08-20
      • 2019-06-01
      • 2021-02-07
      相关资源
      最近更新 更多