Spring 绑定到多个主题的云流 kafka 消费者

Spring cloud stream kafka consumer that bind to multiple topics


我想配置一个消费者应用程序(将 运行 在一个 JVM 上)绑定到多个主题。
消费者应用程序中的每个 "consume"(假设我有 2 个主题要收听)方法都将使用 @StreamListener 注释进行设置,并将链接到特定主题。
我还将在不同的消费者组中配置每个消费者。

spring.cloud.stream.bindings.<consumer>.group=<group name>

我们的想法是消费来自几个主题的消息,假设所有主题都具有相同的优先级,操作它们并将它们传递给相关的微服务。

消费者应用程序在这种配置下的行为如何?
消息会一一传来吗?
我需要在不同的线程中实现每个监听器?
这种方法到底好不好?

Kafka 版本 0.8.2.1(spotify 图片)
Spring-云-stram Brixton.RELEASE
谢谢

How the consumer application will behave in such configuration? The message will came one by one? I need to implement each listner in a different thread?

在 Brixton 版本中,每个 @StreamListener 方法都将使用来自不同线程的消息(您将看到线程:每个绑定的 KafkaMessageListenerContainer 中的 FetchTask)。因此,消息消费在这些线程之间,对应于消费来自各自主题的消息。