当前位置: 首页 > 知识库问答 >
问题:

多重Kafka——Spring Boot多重Kafka集群中的消费者

令狐和裕
2023-03-14

想要从使用SpringKafka的Spring启动应用程序的不同集群上创建同质的 kafka 使用者

即想要为已经定义的类创建一个 Kafka Consumer 对象,该对象侦听动态定义的多个集群。

例如:假设一个Spring启动应用程序S,其中包含kafkaconsumer的模板。有三个Kafka Clusters Custer1、cluster2、cluster3。应用程序S充当从每个集群生成的数据的聚合器。这里的解决方案是同一个模板的三个消费者将在并行中监听单个集群。

使用SpringKafka是否可能实现上述情况?


共有1个答案

於炯
2023-03-14

@KafkaListener无法与多个集群对话。你需要授权给真正的听众。。。

@KafkaListener(..., containerFactory="cluster1Factory")
public void listen1(...) {
    this.delegate.listen(...);
}

@KafkaListener(..., containerFactory="cluster2Factory")
public void listen2(...) {
    this.delegate.listen(...);
}

etc.
 类似资料:
  • 问题是Spring Kafka侦听器只配置了主题名。 我似乎可以让Kafka产生100个消费者来处理来自“队列”(日志)的消息。怎么能做到呢?

  • 然而,当在我的环境中测试此示例时,我得到了一个异常。

  • 我是Kafka的新手,正在学习Kafka内部知识。请根据需要随时更正我的理解。。 这是我的实时场景..感谢所有的回复: 我有一个接收数据文件的实时FTP服务器…比如索赔文件。 我将把这些数据发布到一个主题中.让我们把这个主题称为claims_topic(2个分区). 我需要订阅这个claims_topic,阅读消息并将它们写入Oracle和Postgres表。让我们将oracle表称为Otable

  • 如何在apache/kafka中使用regex消费所有主题?我尝试了上面的代码,但不起作用。

  • 我有一个主题列表(目前是10个),其大小可以在未来增加。我知道我们可以产生多个线程(每个主题)来消耗每个主题,但在我的例子中,如果主题的数量增加,那么消耗主题的线程数量也会增加,这是我不希望的,因为主题不会太频繁地获取数据,所以线程将是理想的。 有没有办法让单个消费者从所有话题中消费?如果是的话,我们怎样才能做到呢?另外,Kafka将如何维护抵消?请建议答案。

  • null null 使用简单消费者或低级消费者可以控制分区,但如果一个实例宕机,其他三个实例将不会处理来自第一个实例中使用的分区的消息