【问题标题】:Spring Kafka, subscribing to large number of topics using topic patternSpring Kafka,使用主题模式订阅大量主题
【发布时间】:2022-01-19 23:52:25
【问题描述】:

在使用 topicPattern 订阅 Kafka 主题时,Kafka 主题的数量和消费者实例之间的主题分布是否存在任何已知限制。

我们的用例是我们需要订阅大量主题(可能有几千个主题)。所有主题都遵循命名约定,并且只有 1 个分区。我们事先不知道主题名称列表,并且可以随时创建与该模式匹配的新主题。我们的消费者应该能够消费来自与模式匹配的所有主题的消息。

  1. 我们是否对可以使用主题模式以这种方式订阅的主题数量有任何限制。

  2. 我们能否扩大消费者实例的数量以读取更多主题

  3. 主题是否会分布在所有正在运行的消费者实例中。在我们的本地测试中,观察到所有主题都由单个消费者读取,尽管有多个消费者实例并行运行。只有当服务消费者实例关闭时,主题才会被另一个实例选择(不分布在可用实例中)

所有提及的主题都是单分区主题。

【问题讨论】:

    标签: apache-kafka spring-kafka


    【解决方案1】:
    1. 我认为没有硬性限制,但是...
    2. 不;您无法在运行时更改并发,但您可以设置比需要更大的并发,这样您就会有空闲的消费者等待分配。
    3. 您需要提供自定义分区分配器,或选择备用提供的分配器之一,例如RoundRobinAssignor 可能对你有用 https://kafka.apache.org/documentation/#consumerconfigs_partition.assignment.strategy

    【讨论】:

      猜你喜欢
      • 2019-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-09
      • 2020-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多