从这里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中,尝试创建流,但需要为主题设置自定义分区。
似乎分区计数是根据应用的实例数计算的。有没有办法覆盖主题上使用的分区数?,它们必须在队列的两边设置(消费者,生产者),但这不是问题。
提前致谢
答案 0 :(得分:1)
您可以通过设置formattedAddress: Array(5)
0 : "Chester Rd"
1 : "London"
2 : "Greater London"
3 : "NW1 4NR"
4 : "United Kingdom"
来覆盖默认行为。
请注意reference guide中针对此属性描述的先决条件。
此外,您会发现本指南中的以下注意事项通常很有用。
“Kafka绑定器使用生成器的partitionCount设置作为提示来创建具有给定分区计数的主题(与minPartitionCount一起使用,两者中的最大值是正在使用的值)。当为应用程序配置minPartitionCount和为应用程序配置partitionCount时,使用较大的值。如果主题已存在且分区计数较小且autoAddPartitions被禁用(默认值),则绑定程序无法启动。如果主题已存在如果启用了较小的分区计数和autoAddPartitions,则会添加新分区。如果主题已存在且分区数大于(minPartitionCount或partitionCount)的分区数,则使用现有分区计数。“
对于SCDF,您可以从Shell或UI覆盖App的此属性。如果您希望将此全局应用于所有流应用,也可以这样做 - 请参阅here。