Spring Cloud Stream Kafka消费模式

时间:2017-02-05 06:01:22

标签: spring-cloud-stream

对于具有多个分区的主题 -

1)单个SpringBoot实例是否使用多个线程来处理(使用StreamListener注释的方法)来自每个分区的每条消息?

2)是否可以为每个分区配置多个线程,还是我必须手动从侦听器线程切换到工作池?

1 个答案:

答案 0 :(得分:4)

<img src="{{ url('/') }}{{ $user->avatar }}" alt="avatar"> 控制线程数(默认为1)。

分区跨线程分布。如果你有20个分区和4个线程;他们每人会得到5个分区。

您需要至少具有与所有实例中的聚合并发一样多的分区。 (如果您有2个应用程序实例和每个5个线程,则至少需要10个分区。)

您不应该跨多个线程从单个分区分发消息;一旦你转移到新线程就会提交偏移,这可能会导致消息丢失。

你应该总是错误地拥有比你需要并发更多的分区。