Spring Kafka,订阅了大量使用主题模式的主题



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

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

  1. 使用主题模式可以订阅的主题数量有任何限制吗。

  2. 我们可以扩大消费者实例的数量以阅读更多主题吗

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

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

  1. 我不相信有硬性限制,但
  2. 否;您不能在运行时更改并发性,但您可以设置比需要的更大的并发性,并且会有空闲的使用者在等待分配
  3. 您需要提供一个自定义分区分配器,或者选择一个备用分区分配器,例如RoundRobinAssignor可能适用于您https://kafka.apache.org/documentation/#consumerconfigs_partition.assignment.strategy

最新更新