Kafka坚持使用num.stream.threads和max.poll.record



我有一个具有以下配置的 Kafka 消费者。

num.stream.threads=10 最大投票记录=90

消费者是使用 10 个线程的主题中的 90 条记录,还是使用者中的 10*90=900 条消息。

max.poll.records

对 poll(( 的单次调用中返回的最大记录数。

Kafka Streams 配置条目StreamsConfig.NUM_STREAM_THREADS_CONFIG指示要为此应用程序实例生成的流线程数。

StreamThread 是一个实际的 Java 线程,具有自己独特的 Kafka 使用者和生产者实例。

每个 StreamThread 都被分配了要执行的任务。Kafka Streams 应用程序的容量由该应用程序整体运行的实例中可用的 StreamThread 实例总数定义。

KafkaStreamsinstance 启动时会触发所有 StreamThreads 启动。 然后,每个 StreamThread 使用自己的 KafkaConsumer 来订阅所有源主题。

由于每个线程都是一个单独的 Kafka 使用者实例,因此每个线程将消耗 90 条消息,即总共 900 条消息。

来源 : https://medium.com/@andy.bryant/kafka-streams-work-allocation-4f31c24753cc

最新更新