分区计数覆盖

nom7f22z  于 2021-06-06  发布在  Kafka
关注(0)|答案(1)|浏览(460)

从这里开始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云数据流中,试图创建一个流,但需要为一个主题设置自定义分区。
分区计数似乎是基于应用程序的示例计数来计算的。有什么方法可以覆盖主题上使用的分区数吗?必须在队列的两侧(使用者、生产者)设置分区数,但这不是问题。
提前谢谢

zd287kbt

zd287kbt1#

您可以通过设置来覆盖默认行为: --spring.cloud.stream.kafka.binder.minPartitionCount=<CUSTOM_VALUE> .
请注意参考指南中对此属性描述的先决条件。
此外,您会发现指南中的以下注解非常有用。
kafka活页夹使用producer的partitioncount设置作为提示来创建具有给定分区计数的主题(与minpartitioncount一起使用,二者中的最大值是所使用的值)。在为活页夹配置minpartitioncount和为应用程序配置partitioncount时要小心,因为使用了较大的值。如果已存在分区数较少的主题,并且禁用了autoaddpartitions(默认设置),则绑定程序无法启动。如果已存在分区数较少的主题,并且启用了autoaddpartitions,则会添加新分区。如果主题已存在,且分区数大于最大分区数(minpartitioncount或partitioncount),则使用现有分区数。“
至于scdf,您可以从shell或ui重写app的这个属性。如果你想把这个应用到所有的流应用程序中,那也是可能的-请看这里。

相关问题