【问题标题】:Partition Count override分区计数覆盖
【发布时间】:2018-11-15 09:44:20
【问题描述】:

从这里https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/blob/master/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/KafkaMessageChannelBinder.java 看来是不可能的,但无论如何都要问,以防我错过了。

在 Spring Cloud Data Flow 中,尝试创建一个流,但需要为一个主题设置自定义分区。

似乎分区数是根据应用程序的实例数计算的。有什么方法可以覆盖主题上使用的分区数量吗?必须在队列的两侧(消费者,生产者)设置它们,但这不是问题。

提前致谢

【问题讨论】:

    标签: apache-kafka spring-cloud spring-cloud-dataflow


    【解决方案1】:

    您可以通过设置覆盖默认行为:--spring.cloud.stream.kafka.binder.minPartitionCount=<CUSTOM_VALUE>

    请注意reference guide 中针对此属性描述的先决条件。

    此外,您会发现本指南中的以下注意事项通常很有用。

    "Kafka binder 使用 producer 的 partitionCount 设置作为提示来创建具有给定分区计数的主题(与 minPartitionCount 一起,两者中的最大值是正在使用的值)。谨慎操作在为 binder 配置 minPartitionCount 和为应用程序配置 partitionCount 时,使用较大的值。如果已存在具有较小分区计数的主题并且禁用 autoAddPartitions(默认),则 binder 无法启动。如果已存在主题如果分区计数较小且启用了 autoAddPartitions,则会添加新分区。如果已存在分区数大于最大值(minPartitionCount 或 partitionCount)的主题,则使用现有分区计数。" p>

    对于 SCDF,您可以从 Shell 或 UI 为 App 覆盖此属性。如果您希望将其全局应用于所有 Stream 应用程序,这也是可能的 - 请参阅 here

    【讨论】:

    • 太棒了!感谢文档上的链接,我猜之前我错过了那个部分......
    猜你喜欢
    • 2020-05-31
    • 2018-11-22
    • 2016-06-21
    • 2012-08-08
    • 1970-01-01
    • 2018-10-05
    • 2018-10-03
    • 1970-01-01
    • 2016-11-23
    相关资源
    最近更新 更多