生产者分区计数覆盖无效

时间:2018-08-03 14:20:50

标签: apache-kafka spring-cloud-stream

对此进行解释-https://docs.spring.io/spring-cloud-stream/docs/current/reference/htmlsingle/#_producer_properties

我的理解是,如果partitionCount重写小于现有kafka主题上的实际分区数,那么生产者应使用实际分区数,而不是override值。我的经验是,无论kafka主题上实际配置了多少个分区(> partitionCount),生产者都使用partitionCount值。

理想情况下,我希望制作人从kafka读取预先配置的主题上的分区数,并在所有可用分区上写消息。

  • Spring-Cloud版本:Finchley.RELEASE
  • Kafka Broker版本:1.0.0

application.yml:

spring:
  application:
    name: my-app
  cloud:
    stream:
      default:
        contentType: application/json
      kafka:
        binder:
          brokers:
          - ${KAFKA_HOST}:${KAFKA_PORT}
          auto-create-topics: false
      bindings:
        input-channel:
          destination: input-topic
          contentType: application/json
          group: input-group
        output-channel:
          destination: output-topic
          contentType: application/json
          producer:
            partition-count: 2
            partition-key-expression: payload['Id']

因此,我希望如果输出主题已经配置了6个分区,则生产者将识别出该分区并将其写入所有分区。有人可以在上面验证我的解释吗?还是指出我缺少想要的功能?

0 个答案:

没有答案